activity.go 741 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package middlewares
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "net/http"
  5. "zhiyuan/pkg/app"
  6. "zhiyuan/pkg/errcode"
  7. "zhiyuan/services/activity/one"
  8. )
  9. func ActivityAuth(tokenType string) gin.HandlerFunc {
  10. return func(c *gin.Context) {
  11. token := c.GetHeader("Access-Token")
  12. if token == "" {
  13. app.Response(c, http.StatusUnauthorized, errcode.TokenEmpty, nil)
  14. c.Abort()
  15. return
  16. }
  17. isValid := false
  18. var errCode errcode.Err
  19. switch tokenType {
  20. case "one":
  21. userInfo, code := one.CheckToken(token)
  22. if userInfo != nil {
  23. c.Set("userID", userInfo.ID)
  24. isValid = true
  25. errCode = code
  26. }
  27. }
  28. if isValid == false {
  29. app.Response(c, http.StatusUnauthorized, errCode, nil)
  30. c.Abort()
  31. return
  32. }
  33. c.Next()
  34. }
  35. }