Criação de token de conexão — Node.js

Para autenticar um usuário que se conecta a uma sessão do OpenTok, o cliente deve se conectar usando um token (consulte esta visão geral).

O código Node.js a seguir mostra como gerar um token usando a biblioteca do lado do servidor do OpenTok para Node.js:

// Set the following constants with the API key and API secret
// that you receive when you sign up to use the OpenTok API:
var opentok = new OpenTok(API_KEY, API_SECRET);

//Generate a basic session. Or you could use an existing session ID.
var sessionId;
opentok.createSession({}, function(error, session) {
  if (error) {
    console.log("Error creating session:", error)
  } else {
    sessionId = session.sessionId;
    console.log("Session ID: " + sessionId);
  }
});

var token = opentok.generateToken(sessionId);

Chamando o generateToken() O método retorna uma string. Essa string é o token.

O código Node.js a seguir mostra como obter um token com a função “publisher” e que contenha uma string de metadados de conexão:

// Set the following constants with the API key and API secret
// that you receive when you sign up to use the OpenTok API:
var opentok = new OpenTok(API_KEY, API_SECRET);

//Generate a basic session. Or you could use an existing session ID.
var sessionId;
var token
opentok.createSession({}, function(error, session) {
  if (error) {
    console.log("Error creating session:", error)
  } else {
    sessionId = session.sessionId;
    console.log("Session ID: " + sessionId);
    //  Use the role value appropriate for the user:
    var tokenOptions = {};
    tokenOptions.role = "publisher";
    tokenOptions.data = "username=bob";

    // Generate a token.
    token = opentok.generateToken(sessionId, tokenOptions);
    console.log(token);
  }
});

}

O método recebe os seguintes argumentos:

  • sessionId (String) — O ID da sessão correspondente à sessão à qual o usuário se conectará.
  • options (Objeto) — Um objeto que inclui configurações opcionais para o token:
    • role (String) — Opcional. Define a função que o usuário terá. Existem três funções: “assinante”, “publicador” e “moderador”. Os assinantes só podem se inscrever em fluxos da sessão (eles não podem publicar). Os editores podem se inscrever e publicar fluxos na sessão, além de poderem usar a API de sinalização. Os moderadores têm os privilégios dos editores e, além disso, também podem forçar outros usuários a se desconectarem da sessão ou a interromperem a publicação. A função padrão (se nenhum valor for passado) é a de editor.
    • data (String) — Opcional. Uma string contendo metadados que descrevem a conexão. Por exemplo, você pode passar o ID do usuário, o nome ou outros dados que descrevam a conexão. Você pode obter esses dados de um banco de dados do lado do servidor ou a partir de dados fornecidos pelo cliente, dependendo da sua aplicação.
    • expireTime (Número) — Opcional. O momento em que o token expirará, definido como um valor inteiro correspondente a um timestamp do Unix (em segundos). Se você não especificar esse valor, os tokens expiram 24 horas após serem criados. O expire_time O valor, se especificado, deve estar dentro de um intervalo de 30 dias a partir da data de criação.