Documentation
¶
Index ¶
- Variables
- type JWTMaker
- type Maker
- type PasetoMaker
- type Payload
- func (payload *Payload) GetAudience() (jwt.ClaimStrings, error)
- func (payload *Payload) GetExpirationTime() (*jwt.NumericDate, error)
- func (payload *Payload) GetIssuedAt() (*jwt.NumericDate, error)
- func (payload *Payload) GetIssuer() (string, error)
- func (payload *Payload) GetNotBefore() (*jwt.NumericDate, error)
- func (payload *Payload) GetSubject() (string, error)
- func (payload *Payload) Valid() error
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidToken = fmt.Errorf("token is invalid") ErrExpiredToken = fmt.Errorf("token has expired") )
Functions ¶
This section is empty.
Types ¶
type JWTMaker ¶
type JWTMaker struct {
// contains filtered or unexported fields
}
func (*JWTMaker) CreateToken ¶
type Maker ¶
type Maker interface {
// CreateToken creates a new token for a specific username and duration
CreateToken(username string, duration time.Duration) (string, error)
VerifyToken(token string) (*Payload, error)
}
func NewJWTMaker ¶
func NewPasetoMaker ¶
type PasetoMaker ¶
type PasetoMaker struct {
// contains filtered or unexported fields
}
func (*PasetoMaker) CreateToken ¶
func (*PasetoMaker) VerifyToken ¶
func (maker *PasetoMaker) VerifyToken(token string) (*Payload, error)
type Payload ¶
type Payload struct {
ID uuid.UUID `json:"id"`
Username string `json:"username"`
IssuedAt time.Time `json:"issued_at"`
ExpiredAt time.Time `json:"expired_at"`
}
func NewPayLoad ¶
New Payload create new payload wtih a specifig username and duration.
func (*Payload) GetAudience ¶
func (payload *Payload) GetAudience() (jwt.ClaimStrings, error)
func (*Payload) GetExpirationTime ¶
func (payload *Payload) GetExpirationTime() (*jwt.NumericDate, error)
实现 jwt.Claims 接口所需的方法
func (*Payload) GetIssuedAt ¶
func (payload *Payload) GetIssuedAt() (*jwt.NumericDate, error)
func (*Payload) GetNotBefore ¶
func (payload *Payload) GetNotBefore() (*jwt.NumericDate, error)
func (*Payload) GetSubject ¶
Click to show internal directories.
Click to hide internal directories.