diff options
Diffstat (limited to 'app/middleware/user.go')
| -rw-r--r-- | app/middleware/user.go | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/app/middleware/user.go b/app/middleware/user.go index 90bf6aa..2b2dd17 100644 --- a/app/middleware/user.go +++ b/app/middleware/user.go @@ -3,20 +3,27 @@ package middleware import ( "net/http" - "github.com/xlgmokha/x/pkg/x" + "github.com/xlgmokha/x/pkg/log" + "github.com/xlgmokha/x/pkg/mapper" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/cfg" + "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/domain" ) func User() func(http.Handler) http.Handler { - parser := UserParser() return func(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - user := parser(r) - if x.IsPresent(user) { - next.ServeHTTP(w, r.WithContext(cfg.CurrentUser.With(r.Context(), user))) - } else { - next.ServeHTTP(w, r) - } + log.WithFields(r.Context(), log.Fields{ + "payload": r.Header.Get("x-jwt-payload"), + "photo": r.Header.Get("x-jwt-claim-picture-url"), + "profile": r.Header.Get("x-jwt-claim-profile-url"), + "sub": r.Header.Get("x-jwt-claim-sub"), + "username": r.Header.Get("x-jwt-claim-username"), + }) + + next.ServeHTTP(w, r.WithContext(cfg.CurrentUser.With( + r.Context(), + mapper.MapFrom[http.Header, *domain.User](r.Header), + ))) }) } } |
