Zum Inhalt springen
ecdsa.com
golang-jwt/jwt (Go)Go

Fehlermeldung

token is unverifiable: error while executing keyfunc: kid "2026-10" not found in key set

Auch ausgegeben als

  • token is unverifiable: error while executing keyfunc
  • token is unverifiable: no keyfunc was provided

Der Text nach „error while executing keyfunc:“ ist das, was deine Keyfunc zurückgegeben hat. Ein Aufruf von `jwt.Parse` mit nil als Keyfunc ergibt „token is unverifiable: no keyfunc was provided“.

golang-jwt/jwt (Go) — jwt.ErrTokenUnverifiable wrapping the error your Keyfunc returned

Was der Fehler bedeutet

golang-jwt konnte keinen Schlüssel beschaffen, um das Token zu prüfen: Deine `Keyfunc` hat einen Fehler zurückgegeben, und golang-jwt hat ihn als `ErrTokenUnverifiable` verpackt („error while executing keyfunc: …“). Alles nach diesem Präfix ist die Meldung deiner eigenen Keyfunc – in der Reproduktion eine Schlüsselsuche per `kid`, die nichts gefunden hat. Das Token wurde weder geprüft noch inhaltlich abgelehnt.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    Keyfunc verwenden, die das JWKS aktualisiert

    Eine Keyfunc auf JWKS-Basis aktualisiert die Schlüssel im Hintergrund und sobald ein unbekannter `kid` auftaucht, sodass Rotationen keine Ausfälle verursachen.

    go
    k, err := keyfunc.NewDefaultCtx(ctx, []string{"https://issuer.example.com/.well-known/jwks.json"})
    if err != nil {
    	log.Fatalf("load JWKS: %v", err)
    }
    // Refetches the JWKS in the background and on unknown kids (rate-limited).
    token, err := jwt.Parse(raw, k.Keyfunc, jwt.WithValidMethods([]string{"ES256"}))
  2. 2.

    Verpackte Ursache protokollieren

    `errors.Is(err, jwt.ErrTokenUnverifiable)` erkennt die Fehlerklasse; der verpackte Fehler verrät dir, ob die Suche ins Leere ging oder der Abruf fehlgeschlagen ist.

    go
    if errors.Is(err, jwt.ErrTokenUnverifiable) {
    	// The wrapped error is whatever your Keyfunc returned: log it, answer 401.
    	log.Printf("cannot verify token: %v", errors.Unwrap(err))
    }

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen