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:

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):

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:

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. El expire_time El valor, si se especifica, debe estar dentro de un plazo de 30 días a partir de la fecha de creación.