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:
Copiar
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):
Copiar
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:
Copiar
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. Oexpire_timeO valor, se especificado, deve estar dentro de um intervalo de 30 dias a partir da data de criação.