Files
GinTutorial/middlewares/auth_middleware.go

29 lines
542 B
Go

package middlewares
import (
"GinTutorial/utils"
"net/http"
"github.com/gin-gonic/gin"
)
func AuthMiddleWare() gin.HandlerFunc {
return func(ctx *gin.Context) {
token := ctx.GetHeader("Authorization")
if token == "" {
ctx.JSON(http.StatusUnauthorized, gin.H{"message": "Token is empty"})
ctx.Abort()
return
}
username, err := utils.ParseToken(token)
if err != nil {
ctx.JSON(http.StatusUnauthorized, gin.H{"error": "Invalid Token"})
ctx.Abort()
return
}
ctx.Set("username", username)
ctx.Next()
}
}