authorize_member_omitempty.go 810 B

1234567891011121314151617181920212223242526272829303132
  1. package middleware
  2. import (
  3. "surveyService/response"
  4. "surveyService/util/constants"
  5. "github.com/gin-gonic/gin"
  6. "gogs.uu.mdfitnesscao.com/hys/sdk"
  7. )
  8. // 拦截用户端的机构ID
  9. func AuthorizeMemberOmitempty() gin.HandlerFunc {
  10. return func(c *gin.Context) {
  11. mechanismId := c.Request.Header.Get("mechanismId")
  12. c.Set(constants.MemberMechanismIDKey, mechanismId)
  13. // 如果有第三方的拦截逻辑,跳过该部分
  14. surveyToken := c.Request.Header.Get("surveyToken")
  15. if surveyToken == "" {
  16. token := c.Request.Header.Get("token")
  17. if token != "" {
  18. // 拿到用户系统的资料
  19. currentUser, err := getMemberTokenInfo[*sdk.AuthMember](token)
  20. if err != nil {
  21. response.Fail(c, err)
  22. return
  23. }
  24. c.Set(constants.MemberCacheKey, currentUser)
  25. }
  26. }
  27. c.Next()
  28. }
  29. }