Go-TestAPI/middlewares/authMiddleware.go

25 lines
616 B
Go
Raw Normal View History

package middlewares
import (
"github.com/gin-gonic/gin"
"golang-test/libs"
"golang-test/types"
"net/http"
)
// Middleware для авторизации
func AuthMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
user, err := libs.GetUserFromHeaders(c)
if err != nil {
c.JSON(http.StatusUnauthorized, types.ErrorResponse{Message: err.Error()})
c.Abort() // Прерываем обработку запроса
return
}
// Если пользователь успешно извлечен, продолжаем обработку запроса
c.Set("user", user)
c.Next()
}
}