JWKS

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.

So funktioniert es

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.

Das Missverständnis

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.

Probieren Sie es hier aus

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.

Quellen

Weitere Begriffe

Diese Seite auf Englisch lesen

Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs

Zuletzt aktualisiert