PKCE

PKCE (ausgesprochen "pixie" ) ist eine Erweiterung des OAuth-Autorisierungscode-Ablaufs für Clients, die kein Geheimnis speichern können, wie z. B. Single-Page-Anwendungen und mobile Apps. Es bindet den Autorisierungscode an den Client, der ihn angefordert hat. Daher reicht es nicht aus, den Code auf dem Rückweg abzufangen, um ihn gegen ein Token einzutauschen.

So funktioniert es

Vor der Weiterleitung des Benutzers generiert der Client einen zufälligen Code-Verifizierer und sendet mit der Autorisierungsanfrage lediglich dessen SHA-256-Hash, die Code-Challenge. Beim späteren Austausch des Codes gegen ein Token sendet er den ursprünglichen Verifizierer. Der Server berechnet dessen Hash, vergleicht ihn mit der gespeicherten Challenge und stellt nur dann ein Token aus, wenn beide übereinstimmen.

Das Missverständnis

PKCE ist nur für mobile Apps gedacht. Die aktuellen OAuth-Sicherheitsrichtlinien empfehlen es jedoch für jeden Client, der den Autorisierungscode-Flow verwendet, einschließlich vertraulicher serverseitiger Clients, da es auch vor Autorisierungscode-Injection schützt.

Probieren Sie es hier aus

Die Modern Identity API implementiert echtes S256 PKCE: POST /identity/v1/authorize mit einer codeChallenge, dann POST /identity/v1/token mit dem codeVerifier – ein Verifier, der nicht mit der Challenge übereinstimmt, wird mit 400 invalid_grant abgelehnt.

Quellen

Weitere Begriffe

Diese Seite auf Englisch lesen

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

Zuletzt aktualisiert