summaryrefslogtreecommitdiff
path: root/pkg/web
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-04-17 13:57:10 -0600
committermo khan <mo@mokhan.ca>2025-04-17 13:58:46 -0600
commit0647ba57f26572d311dffe9ad615793f75d0a5ef (patch)
tree25ae756d3f1edae9be30624735db0e01eb1450b3 /pkg/web
parentd09aa079baf6681bb1743d9bc042072d7596df23 (diff)
chore: write errors to log
Diffstat (limited to 'pkg/web')
-rw-r--r--pkg/web/middleware/unpack_token.go44
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)),
+ )
})
}
}