Kostenloses Entwicklertool

JWKS & JWT Signature Verifier

Fügen Sie eine JWKS-URL oder JWKS-JSON plus ein JWT ein und erhalten Sie ein sofortiges Signatur-Urteil. Die Verifizierung läuft vollständig in Ihrem Browser mit der WebCrypto API, daher verlässt nichts die Seite.

This free JWKS verifier checks whether a JWT was really signed by your Identitätsanbieter. It matches the token's kid against the keys in your JWKS, verifies the RS256/RS384/RS512 or ES256/ES384 signature with WebCrypto, and runs claim checks for exp, nbf, iat, iss, and aud. No token or key is ever uploaded, stored, or logged.

100% Clientseitig WebCrypto Verification Keine Registrierung Erforderlich
Keys & Token

Das Abrufen erfolgt in Ihrem Browser, daher muss der Endpoint CORS erlauben. Keycloaks JWKS-Endpoint sendet CORS-Header, daher funktioniert das Abrufen. Wenn Ihr Provider es blockiert, fügen Sie stattdessen das JWKS JSON unten ein.

or paste JWKS JSON
Verification Result

No token verified yet

Geben Sie ein JWKS und ein JWT an, klicken Sie dann auf Signatur Verifizieren, um ein Urteil zu erhalten.

Now Do This in Production

Skycloak betreibt Managed Keycloak mit automatischer Signing-Key-Rotation und immer verfügbaren JWKS-Endpoints, sodass Verifizierung wie diese einfach funktioniert. Keine Ops-Last.

Kostenlos testen

What Is a JWKS?

A JSON Web Key Set (JWKS) is a JSON document that publishes the public keys an Identitätsanbieter uses to sign its tokens. Each entry in the keys array is a JSON Web Key (JWK) describing one key: its type (kty), intended use (use: "sig"), algorithm (alg), and a key ID (kid).

Für eine tiefere Anleitung zum Format und wie Rotation funktioniert, lesen Sie unseren Leitfaden zu JWKS.

Für eine tiefere Anleitung zum Format und wie Rotation funktioniert, lesen Sie unseren Leitfaden zu understanding JWKS (JSON Web Key Sets).

How kid Matching Works

Jedes signierte JWT trägt eine kid (Key ID) in seinem Header. Die Verifizierung verwendet sie als Lookup:

  1. Lesen Sie den Header: der Verifier dekodiert den JWT-Header und liest die kid- und alg-Werte.
  2. Finden Sie den Key: es scannt das JWKS nach einem Key, dessen kid übereinstimmt, importiert dann diesen Public Key.
  3. Verifizieren: es prüft die Signatur über Header und Payload mit diesem Key. Jeder andere Key im Set ist irrelevant.

The kid is what makes key rotation seamless: an Identitätsanbieter can publish the new key alongside the old one, and tokens signed by either keep verifying until the old key is retired. This tool shows you the match status explicitly, and falls back to trying every signing key when the kid is missing or unmatched.

Why Signature Verification Matters

Decoding a JWT is not verification. Anyone can mint a token with any claims they like: admin: true, your user's email, a fresh expiry. The only thing that ties a token to your Identitätsanbieter is the signature, so a backend that trusts decoded claims without verifying them is effectively unauthenticated.

Wenn Sie nur den Inhalt eines Tokens inspizieren müssen, unser JWT Token Analyzer tut das. Dieses Tool geht einen Schritt weiter und beantwortet die Frage, die in der Produktion zählt: wurde dieses Token wirklich von dem Key Set signiert, dem Sie vertrauen?

In Ihren eigenen Services führen Sie diese Prüfung bei jeder Anfrage mit einer richtigen JWT-Bibliothek durch. Unser Leitfaden zu Verifizieren eines von Keycloak ausgestellten Access Tokens auf dem Backend führt durch den vollständigen serverseitigen Ablauf, einschließlich JWKS-Caching und Issuer-Checks.

Common Verification Failures

Wenn eine Signaturprüfung gegen Keys fehlschlägt, von denen Sie glauben, dass sie korrekt sind, ist es normalerweise eines davon:

  • kid mismatch nach Rotation: das Realm hat seinen Signing Key rotiert und das Token wurde von einem Key ausgestellt, der nicht mehr (oder noch nicht) im Set ist, das Sie abgerufen haben.
  • Veralteter JWKS-Cache: Ihr Backend hat das JWKS vor einer Rotation gecacht und nie neu abgerufen. Verifizierung gegen ein frisch abgerufenes Set hier, aber Fehler in der Produktion ist das klassische Symptom.
  • Wrong realm URL: fetching the JWKS from the master realm while the token was issued by another realm. Vergleichen the token's iss claim with the realm in your JWKS URL.
  • Clock Skew: ein Token, das kryptografisch gültig ist, aber bei exp oder nbf abgelehnt wird, weil Issuer und Verifier über die Zeit uneins sind. Erlauben Sie ein kleines Skew-Fenster.

Frequently Asked Questions

Ist es sicher, einen echten JWT in diesen Verifier einzufügen?

Ja. Parsing, JWKS-Abruf und Signaturverifizierung laufen alle in Ihrem Browser mit der WebCrypto API, daher werden Token und Keys nie hochgeladen, gespeichert oder geloggt. Nur Public Keys sind beteiligt. Trotzdem behandeln Sie jeden Live-Access-Token wie ein Passwort und bevorzugen Sie kurzlebige Test-Tokens, wenn Sie können.

Why does fetching my JWKS URL fail?

Da die Anfrage von Ihrem Browser kommt, muss der Endpoint CORS-Header (Access-Control-Allow-Origin) senden. Keycloaks JWKS-Endpoint tut dies, daher funktioniert das Abrufen der Keys eines Keycloak-Realms out of the box. Wenn ein anderer Provider Cross-Origin-Requests blockiert, öffnen Sie die JWKS-URL direkt, kopieren Sie das JSON und fügen Sie es stattdessen in das JWKS JSON-Feld ein.

Which algorithms does this verifier support?

RS256, RS384 und RS512 (RSA) plus ES256 und ES384 (ECDSA), was die asymmetrischen Algorithmen abdeckt, die Keycloak und die meisten OIDC-Provider standardmäßig ausgeben. Token mit alg "none" werden immer abgelehnt. Token der HS256-Familie werden nicht unterstützt, da sie mit einem symmetrischen Geheimnis signiert sind, das definitionsgemäß niemals in einem JWKS erscheint.

Wo finde ich meine Keycloak JWKS-URL?

Es folgt dem Muster https://<host>/realms/<realm>/protocol/openid-connect/certs. Sie können es auch im OIDC-Discovery-Dokument des Realms unter /realms/<realm>/.well-known/openid-configuration im Feld jwks_uri nachschlagen. Stellen Sie sicher, dass das Realm in der URL mit dem Realm im iss Claim Ihres Tokens übereinstimmt.

© 2026 Skycloak. Alle Rechte vorbehalten. Design von Yasser Soliman