Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidToken = errors.New("token is invalid") ErrExpiredToken = errors.New("token has expired") )
Different types of error returned by the VerifyToken function
Functions ¶
This section is empty.
Types ¶
type JWTMaker ¶
type JWTMaker struct {
// contains filtered or unexported fields
}
JWTMaker is JSON Web Token maker which implements the Maker struct
type Maker ¶
type Maker interface { // this function creates a new token for a specfic username and duration // returns a signed token string or an error // this method would create and sign a token based on a specific username // and signed duration CreateToken(username string, duration time.Duration) (string, *Payload, error) // function to verify token is valid or not // if valid the method would return the input data stored within // the body of the payload VerifyToken(token string) (*Payload, error) }
Maker is an interface for managing tokens
func NewJWTMaker ¶
func NewPasetoMaker ¶
type PasetoMaker ¶
type PasetoMaker struct {
// contains filtered or unexported fields
}
func (*PasetoMaker) CreateToken ¶
func (maker *PasetoMaker) CreateToken(username string, duration time.Duration) (string, *Payload, error)
CreateToken creates a new token for a specific username and duration
func (*PasetoMaker) VerifyToken ¶
func (maker *PasetoMaker) VerifyToken(token string) (*Payload, error)
VerifyToken checks if the token is valid or not
type Payload ¶
type Payload struct { ID uuid.UUID `json:"id"` Username string `json:"username"` Role string `json:"role"` IssuedAt time.Time `json:"issued_at"` ExpiredAt time.Time `json:"expired_at"` }
Payload contains the payload data of the token
func NewPayload ¶
NewPayload creates a new token payload with a specific username and duration
Click to show internal directories.
Click to hide internal directories.