diff options
| author | mo khan <mo@mokhan.ca> | 2025-04-17 13:57:10 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-04-17 13:58:46 -0600 |
| commit | 0647ba57f26572d311dffe9ad615793f75d0a5ef (patch) | |
| tree | 25ae756d3f1edae9be30624735db0e01eb1450b3 /pkg/web | |
| parent | d09aa079baf6681bb1743d9bc042072d7596df23 (diff) | |
chore: write errors to log
Diffstat (limited to 'pkg/web')
| -rw-r--r-- | pkg/web/middleware/unpack_token.go | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/pkg/web/middleware/unpack_token.go b/pkg/web/middleware/unpack_token.go index f3d20a0..949934b 100644 --- a/pkg/web/middleware/unpack_token.go +++ b/pkg/web/middleware/unpack_token.go @@ -1,7 +1,6 @@ package middleware import ( - "fmt" "net/http" "github.com/xlgmokha/x/pkg/log" @@ -11,31 +10,34 @@ import ( func UnpackToken(cfg *oidc.OpenID) func(http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() cookies := r.CookiesNamed("session") - if len(cookies) == 1 { - tokens, err := oidc.TokensFromBase64String(cookies[0].Value) - if err != nil { - next.ServeHTTP(w, r) - return - } - ctx := r.Context() - verifier := cfg.Provider.VerifierContext(ctx, cfg.OIDCConfig) - idToken, err := verifier.Verify(ctx, tokens.IDToken) - if err != nil { - fmt.Printf("%v\n", err) - next.ServeHTTP(w, r) - return - } + if len(cookies) != 1 { + next.ServeHTTP(w, r) + return + } + + tokens, err := oidc.TokensFromBase64String(cookies[0].Value) + if err != nil { + log.WithFields(ctx, log.Fields{"error": err}) + next.ServeHTTP(w, r) + return + } - log.WithFields(r.Context(), log.Fields{"id_token": idToken}) - next.ServeHTTP( - w, - r.WithContext(oidc.IDTokenKey.With(r.Context(), idToken)), - ) - } else { + verifier := cfg.Provider.VerifierContext(ctx, cfg.OIDCConfig) + idToken, err := verifier.Verify(ctx, tokens.IDToken) + if err != nil { + log.WithFields(ctx, log.Fields{"error": err}) next.ServeHTTP(w, r) + return } + + log.WithFields(r.Context(), log.Fields{"id_token": idToken}) + next.ServeHTTP( + w, + r.WithContext(oidc.IDTokenKey.With(r.Context(), idToken)), + ) }) } } |
