authorize.go 618 B

123456789101112131415161718192021222324252627282930
  1. package middleware
  2. import (
  3. "authService/response"
  4. "authService/service/auth"
  5. "authService/util/constants"
  6. "authService/validators"
  7. "github.com/gin-gonic/gin"
  8. )
  9. func Authorize() gin.HandlerFunc {
  10. return func(c *gin.Context) {
  11. token := c.Request.Header.Get("token")
  12. if token == "" {
  13. response.Fail(c, response.ErrAuthorizationExpired)
  14. return
  15. }
  16. var currentUser *validators.AuthUser
  17. var err *response.ErrCode
  18. // 拿到用户系统的资料
  19. currentUser, err = auth.Get(token)
  20. if err != nil {
  21. response.Fail(c, err)
  22. return
  23. }
  24. c.Set(constants.UserCacheKey, currentUser)
  25. c.Next()
  26. }
  27. }