jwt_black_list.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package service
  2. import (
  3. "gin-vue-admin/global"
  4. "gin-vue-admin/model"
  5. "time"
  6. )
  7. // @title JsonInBlacklist
  8. // @description create jwt blacklist
  9. // @param jwtList model.JwtBlacklist
  10. // @auth (2020/04/05 20:22)
  11. // @return err error
  12. func JsonInBlacklist(jwtList model.JwtBlacklist) (err error) {
  13. err = global.GVA_DB.Create(&jwtList).Error
  14. return
  15. }
  16. // @title IsBlacklist
  17. // @description check if the Jwt is in the blacklist or not, 判断JWT是否在黑名单内部
  18. // @auth (2020/04/05 20:22)
  19. // @param jwt string
  20. // @param jwtList model.JwtBlacklist
  21. // @return err error
  22. func IsBlacklist(jwt string) bool {
  23. isNotFound := global.GVA_DB.Where("jwt = ?", jwt).First(&model.JwtBlacklist{}).RecordNotFound()
  24. return !isNotFound
  25. }
  26. // @title GetRedisJWT
  27. // @description Get user info in redis
  28. // @auth (2020/04/05 20:22)
  29. // @param userName string
  30. // @return err error
  31. // @return redisJWT string
  32. func GetRedisJWT(userName string) (err error, redisJWT string) {
  33. redisJWT, err = global.GVA_REDIS.Get(userName).Result()
  34. return err, redisJWT
  35. }
  36. // @title SetRedisJWT
  37. // @description set jwt into the Redis
  38. // @auth (2020/04/05 20:22)
  39. // @param jwtList model.JwtBlacklist
  40. // @param userName string
  41. // @return err error
  42. func SetRedisJWT(jwt string, userName string) (err error) {
  43. // 此处过期时间等于jwt过期时间
  44. timer := 60*60*24*7*time.Second
  45. err = global.GVA_REDIS.Set(userName, jwt, timer).Err()
  46. return err
  47. }