Aperçu de la création de jetons
Afin d'authentifier un utilisateur se connectant à une session OpenTok, la page de cet utilisateur doit transmettre un jeton en même temps que la clé API. Vous devez générer un jeton pour chaque utilisateur se connectant à une session OpenTok. Pour plus d'informations sur la connexion, consultez la documentation relative à la participation à une session : OpenTok.js, Android, iOS.
Rôles
Chaque jeton se voit attribuer un rôle, qui déterminent les capacités du client qui se connecte à l'aide d'un jeton. Il existe trois rôles :
- Abonné — Les clients qui se connectent à l'aide d'un jeton d'abonné peuvent se connecter à la session et s'abonner aux flux d'autres clients. Ils ne peuvent pas publier leurs propres flux sur une session.
- Éditeur — Les clients qui se connectent à l'aide d'un jeton d'éditeur peuvent se connecter à la session, diffuser des flux audio-vidéo vers celle-ci et s'abonner aux flux d'autres clients.
- Éditeur uniquement — Les clients qui se connectent à l'aide d'un jeton « éditeur uniquement » peuvent se connecter à la session et y publier des flux audio-vidéo, mais ils ne peuvent pas s'abonner aux flux des autres clients. De plus, les clients qui se connectent à l'aide d'un jeton « éditeur uniquement » ne peuvent pas l'envoi de signaux. Remarque : À l'heure actuelle, la création de jetons réservés aux éditeurs est prise en charge dans les SDK OpenTok Node, OpenTok Java et OpenTok Ruby.
- Modérateur — Outre la diffusion et l’abonnement aux flux, les modérateurs connectés via un client utilisant OpenTok.js peuvent forcer d’autres clients à se déconnecter de la session ou à cesser de diffuser des flux audio-vidéo. (N'importe quel client peut être contraint de se déconnecter ou de cesser la diffusion, mais seul un modérateur utilisant OpenTok.js peut exercer ces fonctions de modération.) De plus, les modérateurs connectés via l'un des SDK client OpenTok peuvent forcer un ou plusieurs flux de la session à couper le son de la diffusion audio. Voir La modération.
Dates d'expiration
Les jetons OpenTok expirent au bout d'une durée déterminée (jusqu'à 30 jours). Vous pouvez définir la durée d'expiration lors de la génération du jeton.
Données de connexion
Pour chaque jeton, vous pouvez ajouter une chaîne contenant des métadonnées décrivant le client. Par exemple, vous pouvez transmettre l'ID utilisateur, le nom ou d'autres données décrivant le client. Vous pouvez obtenir ces données à partir d'une base de données côté serveur ou de données fournies par le client, en fonction de votre application. La longueur de la chaîne est limitée à 1000 caractères. Ces données ne peuvent pas être mises à jour une fois qu'elles sont définies.
Ne pas utiliser d'informations personnelles dans les données symboliques — Les métadonnées du jeton peuvent être accessibles aux autres participants à la session et peuvent également être consultées via les journaux internes de Vonage ; par conséquent, vous ne devez en aucun cas inclure d'informations sensibles ou personnelles non chiffrées dans les données du jeton. Voir meilleures pratiques en matière de sécurité.
Les bibliothèques client OpenTok comprennent des propriétés permettant d'examiner les données de connexion d'un client connecté à une session.
Meilleures pratiques lors de la génération de jetons
La génération de jetons ne coûte pas cher. Ils sont générés simplement à l'aide d'une fonction de hachage et de votre clé secrète. Aucun appel d'API vers nos serveurs n'est effectué lors de la génération d'un jeton. Nous vous recommandons :
- Génération d'un nouveau jeton pour chaque utilisateur au moment où il tente de se connecter. Les jetons ont une durée de validité qui, par défaut, est de 24 heures à compter de leur création. Passé ce délai, il n'est plus possible d'utiliser le jeton pour se connecter à la session.
- Ne pas enregistrer les jetons ni tenter de les réutiliser.
- Utiliser les données de connexion pour identifier les utilisateurs. Les données de connexion sont un moyen sûr de stocker des informations sur vos utilisateurs (comme un identifiant, qui peut vous aider à identifier vos utilisateurs dans votre application).
Générer des jetons
Lorsque vous travaillez sur une version de test de votre application, vous pouvez obtenir un jeton de test sur la page « Projet » de votre Video API Account. Toutefois, dans la version finale d'une application, il est recommandé d'utiliser l'une des bibliothèques côté serveur d'OpenTok, et non la page du projet, pour générer des jetons :