Création d'un jeton de connexion — Java

Pour authentifier un utilisateur se connectant à une session OpenTok, un client doit se connecter à l'aide d'un jeton (voir cet aperçu).

L'exemple de code Java suivant montre comment générer un jeton à l'aide de la bibliothèque Java côté serveur d'OpenTok :

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

Appeler le generateToken() La méthode renvoie une chaîne de caractères. Cette chaîne correspond au jeton.

L'exemple de code Java suivant montre comment obtenir un jeton doté du rôle « publisher » et d'une chaîne de métadonnées de connexion :

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

La méthode prend les arguments suivants :

  • sessionId (Chaîne) — L'identifiant de session correspondant à la session à laquelle l'utilisateur va se connecter.
  • tokenOptions (TokenOptions) — Facultatif. Objet définissant les options du jeton :
    • Le rôle que l'utilisateur occupera. Il existe trois rôles : abonné, éditeur et modérateur. Les abonnés peuvent uniquement s'abonner aux flux de la session (ils ne peuvent pas publier). Les éditeurs peuvent s'abonner et publier des flux dans la session, et ils peuvent utiliser l'API de signalisation. Les modérateurs disposent des privilèges des éditeurs et, en outre, ils peuvent également forcer d'autres utilisateurs à se déconnecter de la session ou à cesser de publier. Le rôle par défaut (si aucune valeur n'est transmise) est celui d'éditeur.
    • Données de connexion — Chaîne de caractères contenant des métadonnées décrivant la connexion. Vous pouvez, par exemple, transmettre l'identifiant de l'utilisateur, son nom ou d'autres données décrivant la connexion. Vous pouvez obtenir ces données à partir d'une base de données côté serveur ou à partir des données fournies par le client, selon votre application.
    • L'heure à laquelle le jeton expirera, définie sous la forme d'un nombre entier correspondant à un horodatage Unix (en secondes). Si vous ne précisez pas cette valeur, les jetons expirent 24 heures après leur création. Le expire_time La valeur, si elle est indiquée, doit se situer dans un délai de 30 jours à compter de la date de création.