summaryrefslogtreecommitdiff
path: root/app/middleware/user.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/middleware/user.go')
-rw-r--r--app/middleware/user.go23
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),
+ )))
})
}
}