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.
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.
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.
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.
Diese Seite auf Englisch lesen
Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs
Zuletzt aktualisiert