Files
nCovTrack-Backend/middleware/auth.go
2022-02-12 16:32:34 +08:00

30 lines
664 B
Go

package middleware
import (
"github.com/gin-gonic/gin"
"nCovTrack-Backend/utils"
"net/http"
)
const UNAUTH_MSG = "unauthorized"
func Auth() gin.HandlerFunc {
return func(c *gin.Context) {
oldToken := c.Request.Header["Token"]
c.Writer.Header().Set("X-Token", "")
if len(oldToken) != 1 || oldToken[0] == "" {
utils.Err(c, http.StatusUnauthorized, http.StatusUnauthorized, UNAUTH_MSG)
c.Abort()
return
}
renewToken := utils.RenewToken(oldToken[0])
if renewToken == "" {
utils.Err(c, http.StatusUnauthorized, http.StatusUnauthorized, UNAUTH_MSG)
c.Abort()
return
}
c.Writer.Header().Set("X-Token", renewToken)
c.Next()
}
}