Creación de un token de conexión — Java
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 ejemplo de código Java muestra cómo generar un token utilizando la biblioteca de OpenTok para el lado del servidor en Java:
Copia
import com.opentok.OpenTok;
import com.opentok.exception.OpenTokException;
class Test {
public static void main(String argv[]) throws OpenTokException {
// Set the following constants to your OpenTok API key and API secret.
// See /account/.
OpenTok opentok = new OpenTok(API_KEY, API_SECRET);
//Generate a basic session. Or you could use an existing session ID.
String sessionId = opentok.createSession().getSessionId();
String token = opentok.generateToken(sessionId);
System.out.println(token);
}
}
Llamada al generateToken() El método devuelve una cadena. Esta cadena es el token.
El siguiente ejemplo de código Java muestra cómo obtener un token con el rol de «publisher» y que contenga una cadena de metadatos de conexión:
Copia
import com.opentok.OpenTok;
import com.opentok.Role;
import com.opentok.TokenOptions;
import com.opentok.exception.OpenTokException;
class Test {
public static void main(String argv[]) throws OpenTokException {
// Set the following constants to your OpenTok API key and API secret.
// See /account/.
OpenTok opentok = new OpenTok(API_KEY, API_SECRET);
//Generate a basic session. Or you could use an existing session ID.
String sessionId = opentok.createSession().getSessionId();
// Replace with meaningful metadata for the connection.
String connectionMetadata = "username=Bob,userLevel=4";
// Generate a token. Use the Role value appropriate for the user.
TokenOptions tokenOpts = new TokenOptions.Builder()
.role(Role.MODERATOR)
.expireTime((System.currentTimeMillis() / 1000) + (7 * 24 * 60 * 60)) // in one week
.data(connectionMetadata)
.build());
String token = opentok.generateToken(sessionId, tokenOpts);
System.out.println(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.tokenOptions(TokenOptions) — Opcional. Un objeto que define las opciones del token:- 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 por defecto (si no se pasa ningún valor) es el de editor.
- Datos de conexión: 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.
- El momento en el 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. El
expire_timeEl valor, si se especifica, debe estar dentro de un plazo de 30 días a partir de la fecha de creación.