From cae83cf2991c82e07f02e3a9c6c350be1c815941 Mon Sep 17 00:00:00 2001 From: mo khan Date: Fri, 25 Apr 2025 21:38:21 -0600 Subject: refactor: extract method to validate id token --- app/middleware/id_token.go | 4 ++-- pkg/oidc/oidc.go | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/middleware/id_token.go b/app/middleware/id_token.go index f0a3c74..7d106ee 100644 --- a/app/middleware/id_token.go +++ b/app/middleware/id_token.go @@ -16,8 +16,8 @@ func IDToken(cfg *oidc.OpenID, parsers ...TokenParser) func(http.Handler) http.H for _, parser := range parsers { rawIDToken := parser(r) if x.IsPresent(rawIDToken) { - verifier := cfg.Provider.VerifierContext(r.Context(), cfg.OIDCConfig) - idToken, err := verifier.Verify(r.Context(), rawIDToken.String()) + idToken, err := cfg.ValidateIDToken(r.Context(), rawIDToken) + if err != nil { log.WithFields(r.Context(), log.Fields{"error": err}) cookie.Expire(w, r, "session") diff --git a/pkg/oidc/oidc.go b/pkg/oidc/oidc.go index b82570b..5ff8c28 100644 --- a/pkg/oidc/oidc.go +++ b/pkg/oidc/oidc.go @@ -33,3 +33,9 @@ func New(ctx context.Context, issuer string, clientID, clientSecret, callbackURL }, }, nil } + +func (o *OpenID) ValidateIDToken(ctx context.Context, rawIDToken RawToken) (*IDToken, error) { + verifier := o.Provider.VerifierContext(ctx, o.OIDCConfig) + idToken, err := verifier.Verify(ctx, rawIDToken.String()) + return idToken, err +} -- cgit v1.2.3