[#111] auth: Get log from real request context
All checks were successful
/ Builds (1.19) (pull_request) Successful in 3m3s
/ Builds (1.20) (pull_request) Successful in 2m50s
/ DCO (pull_request) Successful in 3m14s
/ Vulncheck (pull_request) Successful in 1m9s
/ Lint (pull_request) Successful in 3m35s
/ Tests (1.19) (pull_request) Successful in 3m6s
/ Tests (1.20) (pull_request) Successful in 10m23s

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
Denis Kirillov 2023-07-06 12:13:45 +03:00
parent 499f4c6495
commit ce91d2300f

View file

@ -26,12 +26,11 @@ var ClientTime = KeyWrapper("__context_client_time")
func AuthMiddleware(log *zap.Logger, center auth.Center) mux.MiddlewareFunc {
return func(h http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
var ctx context.Context
ctx := r.Context()
box, err := center.Authenticate(r)
if err != nil {
if err == auth.ErrNoAuthorizationHeader {
reqLogOrDefault(ctx, log).Debug("couldn't receive access box for gate key, random key will be used")
ctx = r.Context()
} else {
reqLogOrDefault(ctx, log).Error("failed to pass authentication", zap.Error(err))
if _, ok := err.(errors.Error); !ok {
@ -41,7 +40,7 @@ func AuthMiddleware(log *zap.Logger, center auth.Center) mux.MiddlewareFunc {
return
}
} else {
ctx = context.WithValue(r.Context(), BoxData, box.AccessBox)
ctx = context.WithValue(ctx, BoxData, box.AccessBox)
if !box.ClientTime.IsZero() {
ctx = context.WithValue(ctx, ClientTime, box.ClientTime)
}