Zum Inhalt springen
100% lokal

PKCE-Verifier- und Challenge-Generator

Generiert einen kryptographisch zufälligen code_verifier und seinen code_challenge für OAuth 2.0 PKCE.

43
Ausgabe

PKCE-Verifier- und Challenge-Generator

Dieses Tool generiert einen PKCE code_verifier und seinen zugehörigen code_challenge für den OAuth 2.0 Authorization Code Flow gemäß RFC 7636. Es wurde für Entwickler entwickelt, die Single-Page-Apps, Mobile Apps oder beliebige Public Clients verdrahten, die kein Client-Secret sicher speichern können und Proof Key for Code Exchange benötigen, um den Authorization Code vor Abfangen zu schützen.

Der code_verifier ist eine kryptographisch zufällige Zeichenkette, die nur aus den RFC 3986 unreservierten Zeichen (A–Z, a–z, 0–9, "-", ".", "_", "~") besteht und zwischen 43 und 128 Zeichen lang ist — wählen Sie die genaue Länge mit dem Schieberegler. Die Challenge-Methode bestimmt, wie code_challenge abgeleitet wird: S256 hasht den Verifier mit SHA-256 und base64url-kodiert den Digest, was alle modernen OAuth-Leitfäden und Authorization Server erwarten. Die plain-Methode kopiert den Verifier unverändert in den Challenge; sie existiert in der Spezifikation für eingeschränkte Clients, die SHA-256 nicht berechnen können, bietet keinen Schutz vor Abfangen und dieses Tool kennzeichnet dies entsprechend.

Die Ausgabe enthält den rohen code_verifier und code_challenge, die von Ihnen gewählte Methode und eine sofort einsatzbereite Abfrageparameter-Zeichenkette — code_challenge=...&code_challenge_method=... — die Sie direkt in eine Autorisierungs-Request-URL einbinden können. Merken Sie sich den Verifier separat: er gehört in die spätere Token-Anfrage, nicht in die Autorisierungsanfrage, und für jeden Login-Versuch sollte ein neues Paar generiert werden, statt es wiederzuverwenden.

Alle Generierungen erfolgen lokal in Ihrem Browser mit der Web Crypto API als kryptographisch sichere Zufallsquelle und SHA-256-Implementierung — nichts wird hochgeladen oder irgendwo protokolliert. Klicken Sie auf "Neues Paar generieren" für einen neuen Verifier und Challenge, kopieren Sie die Ausgabe oder laden Sie sie als .txt-Datei herunter.

Häufige Fragen

Was ist PKCE und warum benötige ich es?
PKCE (Proof Key for Code Exchange, RFC 7636) schützt den OAuth 2.0 Authorization Code Flow für Clients, die kein Geheimnis bewahren können, wie Single-Page-Apps und Mobile Apps. Sie bindet die Autorisierungsanfrage an die Token-Anfrage mit einem zufälligen Geheimnis, sodass ein gestohlener Autorisierungscode nicht von jemand anderem eingelöst werden kann.
Sollte ich S256 oder plain wählen?
Verwenden Sie S256, es sei denn, Ihr Client kann wirklich nicht SHA-256 berechnen. Bei plain ist code_challenge identisch mit code_verifier, sodass ein Angreifer, der die Autorisierungsanfrage abfängt, bereits alles hat, was er zum Austausch des Codes benötigt — S256 ist das, was moderne Authorization Server erwarten und oft die einzige Methode, die sie akzeptieren.
Kann ich denselben Verifier und Challenge für mehrere Anmeldungen wiederverwenden?
Nein. Generieren Sie für jeden Autorisierungsversuch ein neues Paar. Der Verifier ist ein einmaliges Geheimnis, das an einen einzelnen Flow gebunden ist, nicht ein fester Wert, den Ihre App hartcodiert.
Wo gehen code_verifier und code_challenge jeweils hin?
code_challenge und code_challenge_method gehen in die ursprüngliche Autorisierungs-Request-URL. code_verifier wird später in der Token-Anfrage gesendet, die den Autorisierungscode gegen Token austauscht — bewahren Sie ihn im Speicher oder in der Session Storage des Clients bis dahin auf.
Wird der generierte Verifier irgendwo hochgeladen?
Nein. Die Generierung läuft vollständig in Ihrem Browser mit der Web Crypto API ab. Nichts wird auf einen Server gesendet, protokolliert oder über Ihre eigene Sitzung hinaus gespeichert.