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:
Copiar
// 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:
Copiar
// 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. Oexpire_timeO valor, se especificado, deve estar dentro de um intervalo de 30 dias a partir da data de criação.