ID-Token - Prenly

Ein ID-Token kann verwendet werden, um die eindeutige Benutzer-ID zu extrahieren, nachdem sich der Benutzer autorisiert hat. Sie können auch die Verwendung eines Ressourcenservers umgehen, indem Sie einen benutzerdefinierten Anspruch in der Nutzlast des ID-Tokens verwenden.

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-Claim im 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

  1. Rufen Sie https://jwt.io auf.

  2. Fügen Sie Ihr ID-Token in das Feld " Encoded" ein

  3. Ü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:

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)