middleware.go 610 B

1234567891011121314151617181920212223242526272829303132
  1. package router
  2. import (
  3. "context"
  4. "net/http"
  5. "github.com/gin-gonic/gin"
  6. "github.com/mhaya/game/game_cluster/internal/mdb"
  7. )
  8. func Auth() gin.HandlerFunc {
  9. return func(c *gin.Context) {
  10. tokenString := c.GetHeader("Token")
  11. if tokenString == "" {
  12. c.AbortWithStatusJSON(http.StatusUnauthorized, gin.H{
  13. "msg": "token is empty",
  14. })
  15. return
  16. }
  17. result, err := mdb.RDB.Get(context.Background(), tokenString).Result()
  18. if err != nil {
  19. return
  20. }
  21. if result == "" {
  22. c.AbortWithStatusJSON(http.StatusUnauthorized, gin.H{
  23. "msg": "token is invalid",
  24. })
  25. return
  26. }
  27. c.Next()
  28. }
  29. }