OAuth entwickeln und prüfen

PKCE GeneratorWerte erzeugen, Paare vergleichen

S256 aus einem vorhandenen Verifier ableiten und bei Bedarf vergleichen.

PKCE Generator

Code Verifier

43–128 ASCII-Zeichen: A–Z, a–z, 0–9, -, ., _, ~. Leerzeichen und Zeilenumbrüche werden nicht entfernt.

Erwartete Code Challenge (optional)

Ganz leer lassen, um den Vergleich zu überspringen. Sonst genau 43 kanonische Base64URL-Zeichen ohne = eingeben.

S256-Ergebnis

Gültige Syntax beweist nicht, dass ein eingegebener Verifier zufällig oder unvorhersehbar ist.

Die Werte werden auf dieser Seite verarbeitet und vom Werkzeug weder übertragen noch gespeichert.

Optionen

Gilt nur für die nächste manuelle Erzeugung. Zufallsbytes werden als Base64URL ohne Padding kodiert. SHA-256 liefert weiterhin 256 Bits.

Verifier einfügen oder einen neuen Wert in der Vorschau erzeugen.

Der PKCE Generator hilft, PKCE Parameter zu generieren oder einen fehlgeschlagenen Codeaustausch nachzuvollziehen. Geben Sie den ursprünglichen Code Verifier ein und vergleichen Sie die berechnete Code Challenge mit dem Wert aus Ihrer Autorisierungsanfrage.

Ein neues Paar erklärt keinen Fehler in einer laufenden Transaktion. Behalten Sie dort den ursprünglichen Verifier. Eine Übereinstimmung bestätigt die lokale S256-Berechnung, aber weder die Anmeldung noch die Konfiguration Ihres OAuth-Anbieters.

Warum dieser PKCE Generator?

Die laufende Transaktion untersuchen

Der PKCE Generator ersetzt einen eingefügten Verifier nicht durch einen neuen Zufallswert. So lässt sich prüfen, ob die ursprüngliche Eingabe tatsächlich die gesendete Challenge ergibt.

Zufällige Bytes ergeben einen Verifier, dessen Hash in eine Challenge fester Länge umgewandelt wird.

Formfehler von Abweichungen trennen

Ein Leerzeichen oder ein nichtkanonisches Schlusszeichen ist ein Eingabefehler. Eine korrekt kodierte, aber andere Challenge ist eine Abweichung. Diese getrennten Ergebnisse erleichtern die Fehlersuche.

Ein Verifier wird mit zwei Challenges verglichen; eine stimmt überein, die andere weicht ab.

Mit den Werten derselben Anfrage arbeiten

01

Vorhandenen Wert oder Zufall wählen

Die Seite startet leer. Standardmäßig ergeben 32 Zufallsbytes einen Verifier mit 43 Zeichen. Eine andere Bytezahl wirkt erst beim nächsten Klick auf Verifier erzeugen.

  • Für eine laufende Transaktion den ursprünglichen Verifier verwenden.
02

Die gesendete Challenge prüfen

Ohne erwartete Challenge wird nur berechnet. Automatische Berechnung startet 350 ms nach einer Änderung. Ausgeschaltet stehen Berechnen und Ctrl/Cmd+Enter zur Verfügung.

  • Ein Feld mit Leerzeichen gilt nicht als leer und wird abgewiesen.
03

Übernehmen und aktuell exportieren

Erzeugen, Beispiel und Leeren zeigen zuerst eine Vorschau. Übernehmen setzt sie um, Rückgängig stellt den vorherigen Zustand wieder her. Danach einzelne Werte oder den vollständigen JSON-Bericht exportieren.

  • Veraltete Ergebnisse und offene Vorschauen sperren den Export.

Vom Zufall zur überprüfbaren Ausgabe

Kryptografische Zufallswerte

32, 48, 64 oder 96 Bytes ergeben 43, 64, 86 oder 128 Zeichen. Die Erzeugung nutzt die sichere Zufallsquelle des Browsers und wird ausdrücklich ausgelöst.

S256 ableiten

Die ASCII-Bytes des Verifiers werden mit SHA-256 gehasht. Die 32 Ergebnisbytes werden ohne Padding als Base64URL kodiert; die Challenge hat stets 43 Zeichen.

Bestehende Paare vergleichen

Das Ergebnis unterscheidet Übereinstimmung, Abweichung und Berechnung ohne Vergleich. Eine Eingabeänderung macht das bisherige Ergebnis sofort veraltet.

Vollständiger JSON-Bericht

Der Export enthält Verifier, Challenge, Methode, Länge, Syntaxprüfung, erwarteten Wert, Vergleich und Angaben zur Zufallsquelle. Beide Einzelwerte lassen sich separat kopieren.

Genaue Grenzen der Prüfung

Unveränderte ASCII-Eingabe
Der Verifier benötigt 43–128 nicht reservierte ASCII-Zeichen. Anführungszeichen, Leerzeichen, Zeilenumbrüche, Unicode und = werden weder korrigiert noch entfernt.
Kanonische Challenge
Erwartet werden genau 43 Base64URL-Zeichen. Die letzten zwei Padding-Bits müssen null sein. Eine alternative Schreibweise derselben Bytes wird nicht akzeptiert.
Nur S256
Kein plain, keine Rückrechnung des Hashs und keine Anmeldung oder Tokenanfrage. Es wird keine Verbindung zum Autorisierungsserver aufgebaut.
Entropie ist keine Sicherheitsbewertung
Die Zufallsquelle liefert 256, 384, 512 oder 768 Bits. SHA-256 bleibt bei 256 Ausgabebits. Die Länge eines manuell eingegebenen Verifiers beweist keine entsprechende Entropie.
Öffentliche Beispiele nur testen
Der RFC-Testvektor ist allgemein bekannt. Für jeden neuen Autorisierungsversuch einen neuen zufälligen Verifier erzeugen. Ein passendes Paar bestätigt keine Anbieter- oder Redirect-Konfiguration.

Fragen zum PKCE Generator

Wie lang sollte ein code_verifier sein?

RFC 7636 erlaubt 43–128 Zeichen. Der PKCE Generator erzeugt standardmäßig 43 Zeichen aus 32 zufälligen Bytes. Die Länge allein reicht nicht: Ein vorhersehbarer Wert kann formal gültig sein.

Was unterscheidet S256 von plain?

S256 leitet die Challenge über SHA-256 ab. Bei plain ist sie identisch mit dem Verifier. Dieses Werkzeug unterstützt ausschließlich S256 und führt keinen Rückfall auf plain aus.

Wie unterscheidet sich base64url von base64?

Base64URL verwendet - und _ anstelle von + und /. Bei PKCE entfällt zusätzlich das abschließende =. Eine S256-Challenge muss hier genau 43 Zeichen in kanonischer Schreibweise haben.

Warum passt der transformierte Verifier nicht zur Challenge?

Prüfen Sie, ob beide Werte zur selben Anfrage gehören. Hashen Sie die ASCII-Bytes des ursprünglichen Verifiers und kodieren Sie den binären Hash, nicht dessen Hexdarstellung. Auch ein Zeilenumbruch verändert das Ergebnis.

Kann ich die Challenge einmal erzeugen und dauerhaft verwenden?

Für jeden neuen Autorisierungsversuch ist ein neues unvorhersehbares Paar nötig. Innerhalb einer laufenden Transaktion bleibt hingegen derselbe Verifier erhalten, bis der zugehörige Code ausgetauscht wurde.

Eine unerwartete Berechnung entdeckt?

Das vorhandene Paar untersuchen

Nutzen Sie den PKCE Generator mit dem ursprünglichen Verifier und exportieren Sie den aktuellen Bericht nach der Prüfung.