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