Documentation
¶
Overview ¶
Package jwt 处理 JWT 认证
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrTokenExpired error = errors.New("令牌已过期") ErrTokenExpiredMaxRefresh error = errors.New("令牌已过最大刷新时间") ErrTokenMalformed error = errors.New("请求令牌格式有误") ErrTokenInvalid error = errors.New("请求令牌无效") ErrHeaderEmpty error = errors.New("需要认证才能访问!") ErrHeaderMalformed error = errors.New("请求头中 Authorization 格式有误") )
Functions ¶
This section is empty.
Types ¶
type JWT ¶
type JWT struct {
// 秘钥,用以加密 JWT,读取配置信息 app.key
SignKey []byte
// 刷新 Token 的最大过期时间
MaxRefresh time.Duration
}
JWT 定义一个jwt对象
func (*JWT) IssueToken ¶
IssueToken 生成 Token,在登录成功时调用
func (*JWT) ParserToken ¶
func (jwt *JWT) ParserToken(c *gin.Context) (*JWTCustomClaims, error)
ParserToken 解析 Token,中间件中调用
type JWTCustomClaims ¶
type JWTCustomClaims struct {
UserID string `json:"user_id"`
UserUID string `json:"user_uid"`
UserName string `json:"user_name"`
Udid string `json:"udid"`
Code string `json:"code"`
// StandardClaims 结构体实现了 Claims 接口继承了 Valid() 方法
// JWT 规定了7个官方字段,提供使用:
// - iss (issuer):发布者
// - sub (subject):主题
// - iat (Issued At):生成签名的时间
// - exp (expiration time):签名过期时间
// - aud (audience):观众,相当于接受者
// - nbf (Not Before):生效时间
// - jti (JWT ID):编号
jwtpkg.StandardClaims
}
JWTCustomClaims 自定义载荷
Click to show internal directories.
Click to hide internal directories.