ID-Token - Prenly
Spezifikationen
Um ein ID-Token zu verwenden, müssen Sie überprüfen, dass:
-
Das ID-Token entspricht der JWT-Spezifikation (RFC 7519).
-
Das ID-Token entspricht der OpenID Connect Core-Spezifikation.
-
Das ID-Token enthält die erforderlichen Angaben (siehe OpenID-Spezifikation für weitere Einzelheiten).
-
Die Validierung des ID-Tokens entspricht der Spezifikation.
Issuer und Discovery
Prenly erfordert die Kenntnis des Ausstellers ("iss" in der ID-Token-Nutzlast), wobei der Aussteller eine gültige URI sein muss.
Möglicherweise müssen Sie auch die Discovery-Spezifikation erfüllen.
Im Besonderen:
OpenID Provider, die Discovery unterstützen, MÜSSEN ein JSON-Dokument unter dem Pfad verfügbar machen, der durch Verkettung der Zeichenkette /.well-known/openid-configuration zum Issuer gebildet wird.
- Abschnitt Beziehen von OpenID Provider Konfigurationsinformationen
Dieser Pfad wird durch die Verkettung des Issuers gebildet:
{issuer}/.well-known/openid-configuration
Anmerkungen:
-
Der Issuer darf keinen abschließenden Schrägstrich enthalten.
-
Der Issuer muss eine gültige, funktionale URL sein.
Validierung
Das ID-Token muss überprüfbar sein, bevor seine Nutzdaten als vertrauenswürdig eingestuft werden können.
Erforderlich ist der Zugriff auf das JSON Web Key Set (JWKS), das in der Regel wie folgt referenziert wird:
-
JKU
-
JWKS-URI
Dieser ist in der Regel verfügbar über:
{issuer}/.well-known/jwks (oder in der OpenID-Konfiguration angegeben)
Zusätzliche Anforderungen:
-
Wenn mehrere Signierschlüssel verwendet werden, muss der
"kid"-Header-Claimim ID-Token enthalten sein. -
Wenn nur ein Schlüssel verwendet wird, nimmt Prenly an, dass dieser Schlüssel für die Überprüfung gültig ist.
Sie können ID-Token mit folgenden Tools testen und verifizieren:
Testen über JWT.io
-
Rufen Sie https://jwt.io auf.
-
Fügen Sie Ihr ID-Token in das Feld " Encoded" ein
-
Überprüfen Sie die dekodierten Abschnitte:
-
Header
-
Payload
-
Signature
-
Wenn die Überprüfung fehlschlägt:
-
Fügen Sie Ihren JWK (JSON) in das Feld ein:
"Öffentlicher Schlüssel im SPKI-, PKCS #1-, X.509-Zertifikat- oder JWK-String-Format".
Payload
Zusätzlich zu den erforderlichen Angaben verwendet Prenly hauptsächlich:
-
"sub"
Optional unterstützte Angaben:
-
"email" -
"given name" -
"family name" -
"name"
eine vollständige Liste der Angaben finden Sie in der Spezifikation für erforderliche und optionale Angaben.
Wenn Name und E-Mail verfügbar sind:
-
Sie werden nach der Anmeldung in der Benutzeroberfläche angezeigt.
Andernfalls:
-
Es wird ein Platzhalter angezeigt
Benutzerdefinierte Claims (Abonnements)
Unterstützt nur benutzerdefinierte Ansprüche im ID-Token:
-
Muss ein String-Array sein
-
Jeder Wert steht für einen Abonnement-Produktcode
-
Wird verwendet, um Zugriff auf geschützte Inhalte zu gewähren
Geltungsbereiche
Erforderlicher Bereich:
-
openid
Empfohlener Bereich:
-
offline_access(für Details siehe Spezifikation für Offline-Zugriff)
Vorteile:
-
Ermöglicht länger andauernde Authentifizierungssitzungen
Wichtiges Verhalten:
-
Verwendet zur Bestimmung des Authentifizierungsstatus vornehmlich das Zugriffstoken
-
Sitzungsdauer hängt ab von:
-
Ablauf des Tokens
-
Dauer des Prenly-Cache (Minimum: 20 Minuten)
-