added eager alg error check to minimize misuse
This commit is contained in:
@@ -114,12 +114,12 @@ func Fetch(ctx context.Context, jwksURL string, kid string) (*JWK, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, key := range jwks.Keys {
|
for _, key := range jwks.Keys {
|
||||||
if key.Kid == kid {
|
if key.Kid == kid && key.Alg != "" {
|
||||||
return key, nil
|
return key, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, fmt.Errorf("JWK with kid %q was not found", kid)
|
return nil, fmt.Errorf("missing JWK with kid %q and non-empty alg", kid)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ValidateTokenSignature validates the signature of a token with the
|
// ValidateTokenSignature validates the signature of a token with the
|
||||||
|
|||||||
@@ -168,6 +168,12 @@ func TestFetch(t *testing.T) {
|
|||||||
true,
|
true,
|
||||||
nil,
|
nil,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"matching kid (no alg)",
|
||||||
|
"abc",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"matching kid",
|
"matching kid",
|
||||||
"def",
|
"def",
|
||||||
|
|||||||
Reference in New Issue
Block a user