Criação de token de conexão — Ruby

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 exemplo a seguir mostra como gerar um token usando a biblioteca do OpenTok para Ruby do lado do servidor:

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

Chamando o generate_token() O método retorna uma string. Essa string é o token.

Você também pode gerar um token chamando a função generate_token() método do objeto Session (retornado pelo opentok.create_session() método):

opentok = OpenTok::OpenTok.new api_key, api_secret
session = opentok.create_session
token = session.generate_token

O exemplo a seguir mostra como obter um token com a função “publisher” e que contenha uma string de metadados de conexão:

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

O método aceita as seguintes opções:

  • role (Símbolo) — Opcional. Define a função que o usuário terá. Existem três funções: assinante, editor e moderador. Os assinantes só podem se inscrever em transmissões na 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.
  • expire_time (int) — 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. O expire_time O valor, se especificado, deve estar dentro de um intervalo de 30 dias a partir da data de criação.