Ein JWKS ist ein JSON-Dokument mit einem Array von Schlüsseln. Jeder Eintrag enthält einen öffentlichen Schlüssel im JWK-Format mit einer Kennung (kid), dem Schlüsseltyp und -algorithmus sowie dem Schlüsselmaterial. Identitätsanbieter veröffentlichen ein solches Dokument unter einer bekannten URL, sodass jede API, die ihre Token empfängt, die Signaturen überprüfen kann, ohne dabei Geheimnisse preiszugeben.
Ein signiertes JWT gibt den Schlüssel, mit dem es signiert wurde, im Feld „kid“ seines Headers an. Der Verifizierer ruft den JWKS des Ausstellers ab (üblicherweise über das OpenID-Discovery-Dokument zu finden), wählt den Schlüssel mit diesem „kid“ aus und überprüft die Signatur. Schlüssel werden rotiert, indem der neue Schlüssel vor dem Wechsel zusammen mit dem alten veröffentlicht wird. Daher sollten Verifizierer den Schlüsselsatz zwischenspeichern, ihn aber bei einem unbekannten „kid“ erneut abrufen.
Der Schlüsselsatz kann einmalig abgerufen und in die Konfiguration eingebunden werden. Anbieter rotieren die Schlüssel; ein Verifizierer mit einem fest codierten Schlüssel lehnt ab dem Rotationstag alle gültigen Token ab. Der gegenteilige Fehler – das Abrufen des Schlüssels bei jeder Anfrage – macht den Identitätsanbieter zu einer Abhängigkeit jedes Aufrufs.
GET /identity/v1/jwks gibt den Demo-Schlüsselsatz der Modern Identity API zurück, und das zugehörige Discovery-Dokument unter GET /identity/v1/.well-known/openid-configuration verweist darauf, genau wie es ein echter Anbieter tut.
Diese Seite auf Englisch lesen
Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs
Zuletzt aktualisiert