Creación de un token de conexión — Ruby
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 muestra cómo generar un token utilizando la biblioteca de Ruby para el lado del servidor de OpenTok:
Copia
class SampleController < ApplicationController
def action
# Replace with your OpenTok API key:
api_key = "your_API_key"
# Replace with your OpenTok API secret:
api_secret = "your_API_secret"
opentok = OpenTok::OpenTok.new api_key, api_secret
session = opentok.create_session
session_id = session.session_id
token = opentok.generate_token session_id
end
end
Llamada al generate_token() El método devuelve una cadena. Esta cadena es el token.
También puedes generar un token llamando a la función generate_token() método del objeto Session (devuelto por el opentok.create_session() método):
Copia
opentok = OpenTok::OpenTok.new api_key, api_secret
session = opentok.create_session
token = session.generate_token
El siguiente ejemplo muestra cómo obtener un token con el rol de «editor» y que contenga una cadena de metadatos de conexión:
Copia
class SampleController < ApplicationController
def action
# Replace with your OpenTok API key:
api_key = "your_API_key"
# Replace with your OpenTok API secret:
api_secret = "your_API_secret"
opentok = OpenTok::OpenTok.new api_key, api_secret
session = opentok.create_session
token = session.generate_token({
:role => :publisher,
:data => "username=bob"
})
end
end
El método admite las siguientes opciones:
role(Símbolo) — 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 flujos 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.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.expire_time(int) — Opcional. La hora a la que caducará el token, definida como un valor entero correspondiente a una marca de tiempo de 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.