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

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 de código Java a seguir mostra como gerar um token usando a biblioteca OpenTok para Java do lado do servidor:

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);
    }
}

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

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

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);
    }
}

O método recebe os seguintes argumentos:

  • sessionId (String) — O ID da sessão correspondente à sessão à qual o usuário se conectará.
  • tokenOptions (TokenOptions) — Opcional. Um objeto que define as opções do token:
    • 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 transmissões 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.
    • Dados de conexão — Uma string que contém 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.
    • 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.