...
1 package keyfunc_test
2
3 import (
4 "encoding/json"
5 "errors"
6 "testing"
7
8 "github.com/golang-jwt/jwt/v5"
9
10 "github.com/MicahParks/keyfunc/v2"
11 )
12
13 func TestBadCurve(t *testing.T) {
14 const (
15 badJWKS = `{"keys":[{"kty":"EC","crv":"BAD","x":"MKBCTNIcKUSDii11ySs3526iDZ8AiTo7Tu6KPAqv7D4","y":"4Etl6SRW2YiLUrN5vfvVHuhp7x8PxltmWWlbbM4IFyM","use":"sig","kid":"1"}]}`
16 someJWT = `eyJhbGciOiJFUzI1NiIsImtpZCI6IjEiLCJ0eXAiOiJKV1QifQ.e30.Q1EeyWUv6XEA0gMLwTFoNhx7Hq1MbVwjI2k9FZPSa-myKW1wYn1X6rHtRyuV-2MEzvimCskFD-afL7UzvdWBQg`
17 )
18
19 jwks, err := keyfunc.NewJSON(json.RawMessage(badJWKS))
20 if err != nil {
21 t.Fatalf("Failed to create JWKS from JSON: %v", err)
22 }
23
24
25
26 _, err = jwt.Parse(someJWT, jwks.Keyfunc)
27 if !errors.Is(err, keyfunc.ErrKIDNotFound) {
28 t.Fatalf("Expected ErrKIDNotFound, got %v", err)
29 }
30 }
31
View as plain text