summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-04-25 21:38:21 -0600
committermo khan <mo@mokhan.ca>2025-04-28 09:07:31 -0600
commitcae83cf2991c82e07f02e3a9c6c350be1c815941 (patch)
tree33cfa6abfe85ca521f9b77f2943f7c34eb612a83
parent8a3ec933d5f8c867e2826c30c0c87a2f89fd73fc (diff)
refactor: extract method to validate id token
-rw-r--r--app/middleware/id_token.go4
-rw-r--r--pkg/oidc/oidc.go6
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
+}