| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package models
- import (
- "errors"
- )
- // Typed errors
- var (
- ErrUserTokenNotFound = errors.New("user token not found")
- )
- // UserToken represents a user token
- type UserToken struct {
- Id int64
- UserId int64
- AuthToken string
- PrevAuthToken string
- UserAgent string
- ClientIp string
- AuthTokenSeen bool
- SeenAt int64
- RotatedAt int64
- CreatedAt int64
- UpdatedAt int64
- UnhashedToken string
- }
- type RevokeAuthTokenCmd struct {
- AuthTokenId int64 `json:"authTokenId"`
- }
- // UserTokenService are used for generating and validating user tokens
- type UserTokenService interface {
- CreateToken(userId int64, clientIP, userAgent string) (*UserToken, error)
- LookupToken(unhashedToken string) (*UserToken, error)
- TryRotateToken(token *UserToken, clientIP, userAgent string) (bool, error)
- RevokeToken(token *UserToken) error
- RevokeAllUserTokens(userId int64) error
- ActiveTokenCount() (int64, error)
- GetUserToken(userId, userTokenId int64) (*UserToken, error)
- GetUserTokens(userId int64) ([]*UserToken, error)
- }
|