auth.go 663 B

123456789101112131415161718192021222324252627282930
  1. package models
  2. import (
  3. "errors"
  4. "time"
  5. )
  6. // AuthToken 静态Token
  7. // - Uid 用户ID,谁创建的Token
  8. type AuthToken struct {
  9. Id int `orm:"pk;auto" json:"id"`
  10. Uid int `json:"uid"`
  11. Name string `json:"name"`
  12. // 客户端IP,白名单,多个用逗号隔开
  13. ClientIps string `json:"clientIps"`
  14. Token string `json:"token"`
  15. ExpiredAt int64 `json:"expiredAt"`
  16. Enabled bool `json:"enabled"`
  17. Remark string `json:"remark"`
  18. }
  19. func (token *AuthToken) CheckValid() error {
  20. if !token.Enabled {
  21. return errors.New("token is disabled")
  22. }
  23. if time.Now().Unix() > token.ExpiredAt {
  24. return errors.New("token is expired")
  25. }
  26. return nil
  27. }