|
@@ -13,7 +13,6 @@ import (
|
|
|
|
|
|
|
|
// "github.com/coreos/go-oidc/v3/oidc"
|
|
// "github.com/coreos/go-oidc/v3/oidc"
|
|
|
"github.com/MicahParks/keyfunc/v3"
|
|
"github.com/MicahParks/keyfunc/v3"
|
|
|
- "time"
|
|
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
var (
|
|
@@ -28,17 +27,15 @@ func initJwks() {
|
|
|
var err error
|
|
var err error
|
|
|
|
|
|
|
|
if cfg.AuthJwtCertsURL != "" {
|
|
if cfg.AuthJwtCertsURL != "" {
|
|
|
- ctx, cancel := context.WithTimeout(context.Background(), 300*time.Second)
|
|
|
|
|
-
|
|
|
|
|
- jwksVerifier, err = keyfunc.NewDefaultCtx(ctx, []string{
|
|
|
|
|
|
|
+ // Keep the keyfunc context alive for process lifetime so JWKS
|
|
|
|
|
+ // refresh continues after the initial fetch (GHSA-gp3q-q8qg-j4xf).
|
|
|
|
|
+ jwksVerifier, err = keyfunc.NewDefaultCtx(context.Background(), []string{
|
|
|
cfg.AuthJwtCertsURL,
|
|
cfg.AuthJwtCertsURL,
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
log.Errorf("Init JWKS Failure: %v", err)
|
|
log.Errorf("Init JWKS Failure: %v", err)
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- defer cancel()
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|