Creación de un token de conexión — Node.js
Para autenticar a un usuario que se conecta a una sesión de OpenTok, el cliente debe conectarse mediante un token (véase esta visión general).
El siguiente código de Node.js muestra cómo generar un token utilizando la biblioteca de Node.js para el lado del servidor de OpenTok:
Copia
// 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);
Llamada al generateToken() El método devuelve una cadena. Esta cadena es el token.
El siguiente código de Node.js muestra cómo obtener un token con el rol de «publisher» y que contenga una cadena de metadatos de conexión:
Copia
// 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);
}
});
}
El método admite los siguientes argumentos:
sessionId(Cadena) — El identificador de sesión correspondiente a la sesión a la que se conectará el usuario.options(Objeto) — Un objeto que incluye ajustes opcionales para el token:role(Cadena) — Opcional. Define el rol que tendrá el usuario. Hay tres roles: «suscriptor», «editor» y «moderador». Los suscriptores solo pueden suscribirse a las transmisiones de la sesión (no pueden publicar). Los editores pueden suscribirse y publicar transmisiones en la sesión, y pueden utilizar la API de señalización. Los moderadores tienen los privilegios de los editores y, además, también pueden obligar a otros usuarios a desconectarse de la sesión o a dejar de publicar. El rol predeterminado (si no se pasa ningún valor) es el de editor.data(Cadena) — Opcional. Una cadena que contiene metadatos que describen la conexión. Por ejemplo, puedes pasar el ID de usuario, el nombre u otros datos que describan la conexión. Puedes obtener estos datos de una base de datos del lado del servidor o de los datos que te facilite el cliente, dependiendo de tu aplicación.expireTime(Número) — Opcional. El momento en que caducará el token, definido como un valor entero correspondiente a una marca de tiempo Unix (en segundos). Si no se especifica este valor, los tokens caducan a las 24 horas de su creación. Elexpire_timeEl valor, si se especifica, debe estar dentro de un plazo de 30 días a partir de la fecha de creación.