Configuration et test de l'authentification OIDC pour Brightcove Beacon

Dans cette rubrique, vous apprendrez à configurer votre fournisseur d'identité basé sur OIDC pour authentifier les utilisateurs de Beacon.

Introduction

Ce document détaille la configuration de l'utilisation de votre fournisseur d'identité basé sur OIDC (OpenID Connect) pour authentifier vos spectateurs dans les applications Beacon de Brightcove. Avant d'entrer dans les détails, il est utile d'avoir une vue d'ensemble du processus. Considérez votre application Beacon comme un distributeur automatique de billets de banque. L'utilisateur a besoin d'une carte bancaire pour accéder à l'argent dans le DAB. De même, votre spectateur a besoin d'un identifiant pour accéder aux vidéos de votre application Beacon. Voici un tableau reliant les entités dans l'analogie :

Carte bancaire/de guichet automatique Application Beacon
ATM Application Beacon
Fonctionnalité/connectivité ATM pour autoriser la transaction OAuth 2.0
Carte bancaire Jeton Web JSON (JWT) de l'OIDC
Procédure d'émission de la carte bancaire OIDC

Tout comme la carte bancaire doit disposer du guichet automatique et de la fonctionnalité sous-jacente de cet appareil, l'OIDC doit disposer d'OAuth pour fonctionner. Il est souvent dit que l'OIDC "se superpose" à l'OAuth.

Mise en place et test de l'authentification

Effectuez les tâches suivantes pour configurer et tester votre fournisseur d'identité OIDC avec Beacon :

  1. Obtenez de Brightcove les URL de rappel à ajouter au fournisseur OIDC en tant qu'URI de redirection autorisés. Le fournisseur d'identité utilise ces URI pour rediriger les visiteurs avec leur code d'autorisation Sign-in URL vers les environnements QA et Test. Les deux environnements spécifient les URI de redirection pour rediriger l'utilisateur avec son code d'autorisation.
  2. Implémentez et fournissez des points de terminaison d'API à l'équipe de diffusion OTT pour les réponses suivantes :
    • Jeton d'accès (JWT)
    • Jeton d'identification (JWT)
    • Jeton d'actualisation
    • Informations sur l'utilisateur
    • Autoriser
    • Codes de jumelage : requis uniquement si Smart TV, Android TV, Fire TV ou Apple TV sont concernés ; voir les notes relatives à Roku
    • JWKS
    • Déconnexion
    • OpenID Connect Discovery (/.well-known/openid-configuration) - Si cela est correctement configuré et fourni, l'équipe de diffusion OTT peut découvrir les points de terminaison et fournir un ticket d'ingénierie Beacon, comme indiqué à l'étape f. En dessous
  3. Configurez les URL de redirection pour la connexion et la déconnexion en tant qu'URL de redirection autorisées, si votre fournisseur d'identité l'exige.
  4. Créer un identifiant client pour toutes les applications concernées et le fournir à l'équipe de livraison OTT.
  5. Crée des utilisateurs de test dans votre fournisseur d'identité et fournit des informations d'identification de test à l'équipe de livraison OTT.

À titre d'information, les entités Brightcove devront alors :

  1. L'équipe de livraison OTT crée un ticket avec les données des étapes 2 et 5 ci-dessus pour Beacon CMS dans le tableau OTT.
  2. L'équipe de livraison OTT crée un ticket avec les données des étapes 4 et 5 ci-dessus pour les applications Beacon Beacon dans le tableau OTT.
  3. L'équipe Beacon CMS configure Beacon CMS avec les URLs de l'étape 6 ci-dessus.
  4. Les équipes chargées des applications Beacon configurent les applications avec l'identifiant client de l'étape 5 ci-dessus et procèdent à des tests de développement avec les utilisateurs test fournis.
  5. Les équipes d'assurance qualité de l'équipe de livraison OTT valident l'authentification de bout en bout avant de qualifier les versions pour l'UAT.

Jetons et réponse de l'utilisateur

Trois jetons sont nécessaires pour que votre fournisseur d'identité basé sur OIDC authentifie vos spectateurs, à savoir :

  • jeton d'accès
  • id_token
  • refresh_token

Jeton d'accès

Le jeton d'accès doit présenter les exigences suivantes uniquement pour la prise en charge de l'authentification :

  • sous
  • iss
  • exp
  • iat
  • aud (seulement si demandé)

Voici un exemple de réponse au jeton d'accès que le point de terminaison du jeton de votre fournisseur OIDC peut fournir :

jeton d'accès brut

Voici le jeton d'accès décodé :

jeton d'accès décodé

Jeton d'identification

Le jeton d'identification doit présenter les exigences suivantes uniquement pour la prise en charge de l'authentification :

  • sous
  • iss
  • exp
  • iat
  • aud
  • nonce

Voici un exemple de réponse au jeton d'identification que le point de terminaison du jeton de votre fournisseur OIDC peut fournir :

id token raw

Voici le jeton d'identification décodé :

jeton d'identification décodé

Jeton de rafraîchissement

Le jeton de rafraîchissement n'est qu'un identifiant. Il ne contient aucune donnée. Les données sont le jeton lui-même.

Réponse aux informations sur l'utilisateur

La réponse aux informations utilisateur est un objet JSON qui doit contenir les champs suivants uniquement pour la prise en charge de l'authentification :

  • sous
  • nom/nom de famille/nom complet/nom d'affichage (un ou plusieurs)
  • courriel

Voici un exemple de réponse aux informations utilisateur :

réponse à l'information de l'utilisateur

Problèmes connus

  • Pour les implémentations Roku, un engagement personnalisé avec Brightcove Global Services est nécessaire. Cela est dû aux exigences de certification de Roku. Dans le cas contraire, Roku refusera de publier la chaîne dans le magasin Roku. Pour plus d'informations, consultez Roku Authentification sur l'appareil document.