Einleitung
In diesem Dokument wird die Konfiguration beschrieben, wie Sie Ihren OIDC (OpenID Connect)-basierten Identitätsanbieter zur Authentifizierung Ihrer Betrachter in Brightcove Beacon-Apps verwenden können. Bevor Sie sich in die Details stürzen, ist es hilfreich, sich einen Überblick über den Prozess zu verschaffen. Stellen Sie sich Ihre Beacon-App wie einen Bankautomaten vor. Der Benutzer benötigt lediglich eine Bankkarte, um auf das Geld am Geldautomaten zuzugreifen. Ebenso benötigt Ihr Zuschauer eine ID, um auf die Videos in Ihrer Beacon-App zuzugreifen. Hier ist eine Tabelle, die Entitäten in der Analogie bezieht:
ATM/Bankkarte | Beacon-App |
---|---|
GELDAUTOMAT | Beacon-App |
Funktionalität/Anschlussfähigkeit ATM zur Autorisierung von Transaktionen | OAuth 2.0 |
Bankkarte | JSON-Web-Token (JWT) von OIDC |
Verfahren zur Ausstellung einer Bankkarte | OIDC |
So wie die Bankkarte über den Geldautomaten und die zugrundeliegende Funktionalität dieses Geräts verfügen muss, so muss auch OIDC über OAuth verfügen, um zu funktionieren. Es wird oft behauptet, dass OIDC auf OAuth aufbaut".
Einrichten und Testen der Authentifizierung
Führen Sie die folgenden Aufgaben aus, um Ihren OIDC-Identitätsanbieter mit Beacon zu konfigurieren und zu testen:
- Rufen Sie von Brightcove die Callback-URLs ab, die dem OIDC-Anbieter als zulässige Umleitungs-URIs hinzugefügt werden sollen. Der Identitätsanbieter verwendet diese URIs, um Betrachter mit ihrem Autorisierungscode Sign-in URL zu QA- und Testumgebungen umzuleiten. Beide Umgebungen geben die Redirect-URIs an, um den Benutzer mit seinem Autorisierungscode umzuleiten.
- Implementierung und Bereitstellung von API-Endpunkten für das OTT-Bereitstellungsteam für die folgenden Antworten:
- Zugriffstoken (JWT)
- ID-Token (JWT)
- Token aktualisieren
- Benutzerinformation
- Autorisieren
- Pairing-Codes - nur erforderlich, wenn Smart TV, Android TV, Fire TV oder Apple TV betroffen sind; siehe Hinweise für Roku
- WITZEN
- Ausloggen
- OpenID Connect Discovery (/.well-known/openid-configuration) - Wenn dies richtig konfiguriert und bereitgestellt wird, kann das OTT Delivery Team die Endpunkte erkennen und das Beacon Engineering Ticket wie in Schritt f beschrieben bereitstellen. Unter
- Konfigurieren Sie Umleitungs-URLs für die An- und Abmeldung als zulässige Umleitungs-URLs, falls dies von Ihrem Identitätsanbieter verlangt wird.
- Erstellen Sie eine Kunden-ID für alle Apps im Geltungsbereich und stellen Sie sie dem OTT-Bereitstellungsteam zur Verfügung.
- Erstellt Testbenutzer in Ihrem Identitätsanbieter und stellt dem OTT-Bereitstellungsteam Testanmeldeinformationen zur Verfügung.
Zu Ihrer Information, Brightcove-Einheiten werden dann:
- Das OTT Delivery Team erstellt ein Ticket mit den Daten aus den Schritten 2 und 5 für Beacon CMS im OTT Board.
- Das OTT Delivery Team erstellt ein Ticket mit Daten aus den obigen Schritten 4 und 5 für Beacon Beacon-Apps im OTT-Board.
- Das Beacon CMS-Team konfiguriert Beacon CMS mit den URLs aus Schritt 6 oben.
- Beacon-Apps-Teams konfigurieren Apps mit der Client-ID aus Schritt 5 oben und führen Dev-Tests mit bereitgestellten Testbenutzern durch.
- Die QA-Teams des OTT Delivery Teams validieren die End-to-End-Authentifizierung, bevor sie die Builds für die UAT-Freigabe qualifizieren.
Token und Benutzerantwort
Damit Ihr OIDC-basierter Identitätsanbieter Ihre Betrachter authentifizieren kann, sind drei Token erforderlich, und zwar:
- zugriffstoken
- id_token
- refresh_token
Zugangstoken
Der Zugangstoken muss allein zur Unterstützung der Authentifizierung die folgenden Angaben enthalten:
- unter
- ausgabe
- exp
- iat
- aud (nur wenn gewünscht)
Im Folgenden finden Sie ein Beispiel für eine Zugriffstoken-Antwort, die Ihr OIDC-Anbieter-Token-Endpunkt bereitstellen kann:
Hier ist das Zugangs-Token entschlüsselt:
ID-Token
Das id-Token muss allein zur Unterstützung der Authentifizierung die folgenden Angaben enthalten:
- unter
- ausgabe
- exp
- iat
- aud
- Nonce
Hier ein Beispiel für eine ID-Token-Antwort, die Ihr OIDC-Anbieter-Token-Endpunkt bereitstellen kann:
Hier wird das ID-Token entschlüsselt:
Token aktualisieren
Das Refresh-Token ist lediglich ein Bezeichner. Sie enthält keine Daten. Die Daten sind der Token selbst.
Antwort zur Benutzerinformation
Die Benutzerinfo-Antwort ist ein JSON-Objekt und muss nur zur Unterstützung der Authentifizierung die folgenden Felder enthalten:
- unter
- name/nickname/full_name/displayName (einer oder mehrere)
- E-Mail senden
Hier ist ein Beispiel für eine Antwort auf eine Benutzerinformation:
Bekannte Probleme
- Für Roku-Implementierungen ist eine individuelle Vereinbarung mit Brightcove Global Services erforderlich. Dies ist auf die Zertifizierungsanforderungen von Roku zurückzuführen. Andernfalls lehnt Roku die Veröffentlichung des Kanals im Roku Store ab. Weitere Informationen finden Sie im Dokument zur Authentifizierung auf dem Gerät von Roku.