Skip to main content

Authentication

VideoSDK uses access tokens for authentication. Using our dashboard (app.videosdk.live), anyone can generate access tokens tokens with an API key and secret pair.

  • Your backend server will generate access tokens using API Key and secret.
  • Your client obtains token from your backend server.
  • Your client will pass the token to VideoSDK server.
  • VideoSDK client sdk will conncts to the VideoSDK server with available token.
  • VideoSDK server will validate the token and accpets your incoming connection.

Here is the simple sequence diagram represents the authentication.

sequenceDiagram Your App Client->>Your App Server: Request for token; activate Your App Server; Note left of Your App Server: Generate token; Your App Server-->>Your App Client: Received token; deactivate Your App Server; Your App Client->>VideoSDK Server: Request to establish connection; activate VideoSDK Server; Note left of VideoSDK Server: Validates Token; VideoSDK Server-->>Your App Client: Connection established; deactivate VideoSDK Server;

Generate Accees Token

For security, every user that connects to live streaming needs a access token. By substituting apikey and secretKey in it.

var jwt = require("jsonwebtoken");
var uuid4 = require("uuid4");

// Need to generate from app.videosdk.live
const API_KEY = "API_KEY_GENERATED";
const SECRET_KEY = "API_SECRET_KEY_GENERATED";

jwt.sign(
{
apikey: API_KEY,
},
SECRET_KEY,
{
algorithm: "HS256",
expiresIn: "24h",
jwtid: uuid4(),
},
function (err, token) {
console.log(token);
}
);