Création d'un jeton de connexion — Ruby

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 suivant montre comment générer un jeton à l'aide de la bibliothèque côté serveur OpenTok pour Ruby :

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

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

Vous pouvez également générer un jeton en appelant la fonction generate_token() méthode de l'objet Session (renvoyée par la opentok.create_session() méthode) :

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

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

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

Cette méthode accepte les options suivantes :

  • role (Symbole) — Facultatif. Ce paramètre définit 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 fournie) est celui d'éditeur.
  • data (Chaîne) — Facultatif. Une chaîne 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 de données fournies par le client, selon votre application.
  • expire_time (int) — Facultatif. Heure d'expiration du jeton, définie sous la forme d'un nombre entier correspondant à un horodatage Unix (en secondes). Si vous ne spécifiez 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.