Skip to content

Commit 68242ca

Browse files
committed
feat: add context key for user ID in auth middleware
1 parent 4941612 commit 68242ca

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

app/middlewares/auth_middleware.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package middlewares
22

33
import (
4+
"context"
45
"net/http"
56
"strconv"
67

78
"github.com/hammer-code/lms-be/domain"
9+
contextkey "github.com/hammer-code/lms-be/pkg/context_key"
810
"github.com/hammer-code/lms-be/pkg/ngelog"
911
"github.com/hammer-code/lms-be/utils"
1012
)
@@ -80,6 +82,9 @@ func (m *Middleware) AuthMiddleware(allowedRole string) domain.MiddlewareFunc {
8082

8183
writer.Header().Set("x-user-id", strconv.Itoa(user.ID))
8284
writer.Header().Set("x-username", user.Username)
85+
86+
ctxUser := context.WithValue(request.Context(), contextkey.UserKey, user.ID)
87+
request = request.WithContext(ctxUser)
8388

8489
next.ServeHTTP(writer, request)
8590
})

pkg/context_key/context_key.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package contextkey
2+
3+
type ContextKey string
4+
5+
const (
6+
UserKey ContextKey = "user"
7+
)

0 commit comments

Comments
 (0)