auth.go 809 B

1234567891011121314151617181920212223242526272829
  1. package middle
  2. import (
  3. "github.com/allanpk716/ChineseSubFinder/internal/pkg/common"
  4. "github.com/allanpk716/ChineseSubFinder/internal/types/backend"
  5. "github.com/gin-gonic/gin"
  6. "net/http"
  7. "strings"
  8. )
  9. func CheckAuth() gin.HandlerFunc {
  10. return func(context *gin.Context) {
  11. authHeader := context.Request.Header.Get("Authorization")
  12. if len(authHeader) <= 1 {
  13. context.JSON(http.StatusUnauthorized, backend.ReplyCheckAuth{Message: "Request Header Authorization Error"})
  14. context.Abort()
  15. return
  16. }
  17. nowAccessToken := strings.Fields(authHeader)[1]
  18. if nowAccessToken == "" || nowAccessToken != common.GetAccessToken() {
  19. context.JSON(http.StatusUnauthorized, backend.ReplyCheckAuth{Message: "AccessToken Error"})
  20. context.Abort()
  21. return
  22. }
  23. // 向下传递消息
  24. context.Next()
  25. }
  26. }