Documentation
¶
Index ¶
- Variables
- type AdminPayload
- type JWTMaker
- func (maker *JWTMaker) CreateAdminToken(userID int64, username string, roleId int64, duration time.Duration) (string, *AdminPayload, error)
- func (maker *JWTMaker) CreateToken(userID uuid.UUID, username string, role string, duration time.Duration) (string, *Payload, error)
- func (maker *JWTMaker) VerifyAdminToken(token string) (*AdminPayload, error)
- func (maker *JWTMaker) VerifyToken(token string) (*Payload, error)
- type Maker
- type PasetoMaker
- func (maker *PasetoMaker) CreateAdminToken(userID int64, username string, roleId int64, duration time.Duration) (string, *AdminPayload, error)
- func (maker *PasetoMaker) CreateToken(userID uuid.UUID, username string, role string, duration time.Duration) (string, *Payload, error)
- func (maker *PasetoMaker) VerifyAdminToken(token string) (*AdminPayload, error)
- func (maker *PasetoMaker) VerifyToken(token string) (*Payload, error)
- type Payload
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidToken = errors.New("token is invalid") ErrExpiredToken = errors.New("token has expired") )
Functions ¶
This section is empty.
Types ¶
type AdminPayload ¶
type AdminPayload struct {
ID uuid.UUID `json:"id"`
AdminID int64 `json:"admin_id"`
Username string `json:"username"`
RoleID int64 `json:"role_id"`
IssuedAt time.Time `json:"issued_at"`
ExpireAt time.Time `json:"expire_at"`
}
func NewAdminPayload ¶
func (*AdminPayload) Valid ¶
func (adminPayload *AdminPayload) Valid() error
type JWTMaker ¶
type JWTMaker struct {
// contains filtered or unexported fields
}
func (*JWTMaker) CreateAdminToken ¶
func (*JWTMaker) CreateToken ¶
func (*JWTMaker) VerifyAdminToken ¶
func (maker *JWTMaker) VerifyAdminToken(token string) (*AdminPayload, error)
type Maker ¶
type Maker interface {
// CreateToken creates a new user token for a specific username and duration
CreateToken(UserID uuid.UUID, username string, role string, duration time.Duration) (string, *Payload, error)
// VerifyToken checks if the user token is valid or not
VerifyToken(token string) (*Payload, error)
// CreateAdminToken creates a new admin token for a specific username and duration
CreateAdminToken(AdminID int64, username string, roleId int64, duration time.Duration) (string, *AdminPayload, error)
// VerifyAdminToken checks if the admin token is valid or not
VerifyAdminToken(token string) (*AdminPayload, error)
}
Maker is an interface for managing tokens
func NewJWTMaker ¶
func NewPasetoMaker ¶
type PasetoMaker ¶
type PasetoMaker struct {
// contains filtered or unexported fields
}
PasetoMaker is a PASETO token maker
func (*PasetoMaker) CreateAdminToken ¶
func (maker *PasetoMaker) CreateAdminToken(userID int64, username string, roleId int64, duration time.Duration) (string, *AdminPayload, error)
func (*PasetoMaker) CreateToken ¶
func (maker *PasetoMaker) CreateToken(userID uuid.UUID, username string, role string, duration time.Duration) (string, *Payload, error)
CreateToken creates a new token for a specific username and duration
func (*PasetoMaker) VerifyAdminToken ¶
func (maker *PasetoMaker) VerifyAdminToken(token string) (*AdminPayload, error)
func (*PasetoMaker) VerifyToken ¶
func (maker *PasetoMaker) VerifyToken(token string) (*Payload, error)
VerifyToken checks if the token is valid or not
Click to show internal directories.
Click to hide internal directories.