Skip to content

4Players/odin-tokens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@4players/odin-tokens

npm npm npm

This is a lightweight module to generate API keys and tokens used by ODIN Voice by 4Players.

ODIN Voice is a cross-platform software development kit (SDK) that enables developers to integrate voice and video chat technology into multiplayer games. Check out our full online documentation.

Flowchart

graph TB
  RandomBytes[Random Bytes] --> AccessKey;
  AccessKey --> PublicKey;
  AccessKey --> SecretKey;
  PublicKey --> KeyId;
Loading

Example

import { TokenGenerator } from "@4players/odin-tokens";

const accessKey = "<YOUR API KEY HERE>";
const generator = new TokenGenerator(accessKey);
const token = await generator.createToken("my room", "john doe");

console.log(`generated a new token: ${token}`);

Terminology

Term Description
AccessKey Gives access to the ODIN network for a customer. It is a 44 character long Base64-String, which consists of a version, random bytes and a checksum.
SecretKey Generated from the AccessKey, it is based on the Ed25519-Curve and used to sign a Token generated by the customer.
PublicKey Generated from the AccessKey, it is based on the Ed25519-Curve and must be uploaded to 4Players so that a generated Token can be verified.
KeyId A shortened PublicKey, included in Token, making it possible to identify what PublicKey must be used to verify the Token.
Token A JWT given to the game clients that allows them to connect to a voice/video chat room in the ODIN network.

About

Lightweight module to generate access keys and room tokens used by 4Players ODIN

Topics

Resources

License

Stars

Watchers

Forks

Contributors