31 lines
605 B
Go
31 lines
605 B
Go
package utils
|
|
|
|
import (
|
|
"errors"
|
|
"time"
|
|
)
|
|
|
|
type TokenPayload struct {
|
|
UserId string
|
|
IsAdmin bool
|
|
}
|
|
|
|
const (
|
|
tokenCachePrefixUser = "jwt:user:"
|
|
tokenCachePrefixToken = "jwt:token:"
|
|
tokenCacheTTL = 60 * 24 * time.Hour
|
|
tokenLifetime = 5 * 24 * time.Hour
|
|
)
|
|
|
|
var (
|
|
errMissingToken = errors.New("token missing in request")
|
|
errInvalidToken = errors.New("invalid token claims")
|
|
errTokenNotInCache = errors.New("token not found in cache")
|
|
errNoRedisClient = errors.New("redis client not configured")
|
|
)
|
|
|
|
func NewToken(payload TokenPayload) (string, error) {
|
|
|
|
return "", nil
|
|
}
|