diff --git a/internal/auth/middleware/middleware.go b/internal/auth/middleware/middleware.go new file mode 100644 index 0000000..b48f92e --- /dev/null +++ b/internal/auth/middleware/middleware.go @@ -0,0 +1,20 @@ +package middleware + +import ( + "mal/internal/domain" + + "github.com/gin-gonic/gin" +) + +func AuthMiddleware(svc domain.AuthService) gin.HandlerFunc { + return func(c *gin.Context) { + sessionID, err := c.Cookie("session_id") + if err == nil { + user, err := svc.ValidateSession(c.Request.Context(), sessionID) + if err == nil { + c.Set("User", user) + } + } + c.Next() + } +}