ID-token - Prenly
Specifikationer
Om du vill använda en ID-token måste du verifiera att:
-
ID-token följer JWT-specifikationen (RFC 7519).
-
ID-token följer OpenID Connect Core-specifikationen.
-
ID-token innehåller de påståenden som krävs (se OpenID-specifikationen för detaljer).
-
Valideringen av ID-token överensstämmer med specifikationen.
Utfärdare och upptäckt
Prenly kräver kunskap om utfärdaren ("iss" i ID-tokenens nyttolast), där utfärdaren måste vara en giltig URI.
Du kan också behöva uppfylla Discovery-specifikationen.
I synnerhet följande:
OpenID-providers som stöder Discovery MÅSTE göra ett JSON-dokument tillgängligt på den sökväg som bildas genom att konkatenera strängen /.well-known/openid-configuration till utfärdaren.
- avsnitt Hämtning av konfigurationsinformation för OpenID-leverantörer
Denna sökväg bildas genom att sammanlänka strängen issuer:
{issuer}/.well-known/openid-konfiguration
Anmärkningar:
-
Utfärdaren får inte innehålla ett efterföljande snedstreck.
-
Utfärdaren måste vara en giltig, funktionell URL.
Validering
ID-token måste vara verifierbar innan dess payload kan betros.
För detta krävs tillgång till JSON Web Key Set (JWKS), som vanligtvis refereras till som:
-
JKU
-
JWKS-URI
Detta är vanligen tillgängligt via:
{issuer}/.well-known/jwks (eller specificeras i OpenID-konfigurationen)
Ytterligare krav:
-
Om flera signeringsnycklar används måste rubrikanspråket
"kid"inkluderas i ID-token. -
Om endast en nyckel används antar Prenly att den nyckeln är giltig för verifiering.
Du kan testa och verifiera ID-tokens med hjälp av verktyg som t.ex:
Testning via JWT.io
-
Gå till https://jwt.io
-
Klistra in din ID-token i fältet Encoded (kodat)
-
Granska de avkodade avsnitten:
-
Header
-
Payload
-
Signature
-
Om verifieringen misslyckas:
-
Klistra in din JWK (JSON) i fältet:
"Public Key in SPKI, PKCS #1, X.509 Certificate, or JWK string formatt"
Payload
Förutom obligatoriska påståenden använder Prenly främst:
-
"sub"
Valfria påståenden som stöds:
-
"email" -
"given name" -
"family name" -
"name"
För en fullständig lista över påståenden, se specifikationen för obligatoriska och valfria påståenden.
Om namn och e-post är tillgängliga:
-
De kommer att visas i användargränssnittet efter inloggning
I annat fall:
-
En platshållare kommer att visas
Anpassade anspråk (prenumerationer)
Prenly stöder anpassade anspråk i ID-token:
-
Måste vara en strängmatris
-
Varje värde representerar en produktkod för en prenumeration
-
Används för att ge åtkomst till skyddat innehåll
Omfattningar
Obligatoriskt scope:
-
openid
Rekommenderad omfattning:
-
offline_access(för detaljer se specifikation för offline-åtkomst)
Fördelar:
-
Möjliggör längre autentiseringssessioner
Viktigt beteende:
-
Använder endast åtkomsttoken för att fastställa autentiseringsstatus
-
Sessionens varaktighet beror på:
-
Tokenens utgångsdatum
-
Prenly-cachens varaktighet (minimum: 20 minuter)
-