mirror of
https://github.com/lukaszraczylo/traefikoidc.git
synced 2026-10-18 04:47:28 +00:00
fixup! Add support for more algorithms.
This commit is contained in:
@@ -117,14 +117,18 @@ func verifyIssuer(tokenIssuer, expectedIssuer string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func jwkToPEM(jwk *JWK) ([]byte, error) {
|
func jwkToPEM(jwk *JWK) ([]byte, error) {
|
||||||
switch jwk.Kty {
|
converter, ok := jwkConverters[jwk.Kty]
|
||||||
case "RSA":
|
if !ok {
|
||||||
return rsaJWKToPEM(jwk)
|
|
||||||
case "EC":
|
|
||||||
return ecJWKToPEM(jwk)
|
|
||||||
default:
|
|
||||||
return nil, fmt.Errorf("unsupported key type: %s", jwk.Kty)
|
return nil, fmt.Errorf("unsupported key type: %s", jwk.Kty)
|
||||||
}
|
}
|
||||||
|
return converter(jwk)
|
||||||
|
}
|
||||||
|
|
||||||
|
type jwkToPEMConverter func(*JWK) ([]byte, error)
|
||||||
|
|
||||||
|
var jwkConverters = map[string]jwkToPEMConverter{
|
||||||
|
"RSA": rsaJWKToPEM,
|
||||||
|
"EC": ecJWKToPEM,
|
||||||
}
|
}
|
||||||
|
|
||||||
func rsaJWKToPEM(jwk *JWK) ([]byte, error) {
|
func rsaJWKToPEM(jwk *JWK) ([]byte, error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user