Documentation
¶
Index ¶
- type JwtHandlerxdeprecated
- type JwtxMiddlewareGinx
- func (j *JwtxMiddlewareGinx) DeleteToken(ctx *gin.Context) (*UserClaims, error)
- func (j *JwtxMiddlewareGinx) ExtractToken(ctx *gin.Context) string
- func (j *JwtxMiddlewareGinx) LongVerifyToken(ctx *gin.Context) (*RefreshUserClaims, error)
- func (j *JwtxMiddlewareGinx) RefreshToken(ctx *gin.Context, ssid string) (*UserClaims, error)
- func (j *JwtxMiddlewareGinx) SetToken(ctx *gin.Context, userId int64, name string, ssid string) (*UserClaims, error)
- func (j *JwtxMiddlewareGinx) VerifyToken(ctx *gin.Context) (*UserClaims, error)
- type JwtxMiddlewareGinxConfig
- type RefreshUserClaims
- type UserClaims
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type JwtHandlerx
deprecated
type JwtHandlerx interface {
// SetToken 生成 JwtToken
SetToken(ctx *gin.Context, userId int64, name string, ssid string) (*UserClaims, error)
// ExtractToken 获取 JwtToken
ExtractToken(ctx *gin.Context) string
// VerifyToken 验证 JwtToken
VerifyToken(ctx *gin.Context) (*UserClaims, error)
LongVerifyToken(ctx *gin.Context) (*RefreshUserClaims, error)
// RefreshToken 刷新 JwtToken 过期时间
RefreshToken(ctx *gin.Context, ssid string) (*UserClaims, error)
// DeleteToken 删除 JwtToken
DeleteToken(ctx *gin.Context) (*UserClaims, error)
}
Deprecated: jwtx此包弃用,此方法将在未来版本中删除,请使用jwtX2包【可无缝替换jwtX2包实现】 JwtHandlerx 方法
- 一般情况下,只用登录、登出、验证、刷新四个token方法
func NewJwtxMiddlewareGinx
deprecated
func NewJwtxMiddlewareGinx(cache redis.Cmdable, jwtConf *JwtxMiddlewareGinxConfig) JwtHandlerx
Deprecated: jwtx此包弃用,此方法将在未来版本中删除,请使用jwtX2包【可无缝替换jwtX2包实现】 NewJwtxMiddlewareGinx 创建JwtxMiddlewareGinx
- 【一般情况下,只用设置、验证、刷新、删除四个token方法】
- expiresIn: token过期时间
- jwtKey: 密钥
type JwtxMiddlewareGinx ¶
type JwtxMiddlewareGinx struct {
JwtxMiddlewareGinxConfig
// contains filtered or unexported fields
}
func (*JwtxMiddlewareGinx) DeleteToken ¶
func (j *JwtxMiddlewareGinx) DeleteToken(ctx *gin.Context) (*UserClaims, error)
DeleteToken 删除JwtToken【多用于退出登录~】
func (*JwtxMiddlewareGinx) ExtractToken ¶
func (j *JwtxMiddlewareGinx) ExtractToken(ctx *gin.Context) string
ExtractToken 获取JwtToken
func (*JwtxMiddlewareGinx) LongVerifyToken ¶
func (j *JwtxMiddlewareGinx) LongVerifyToken(ctx *gin.Context) (*RefreshUserClaims, error)
LongVerifyToken 验证长JwtToken【一般是刷新token时,此方法验证长token,生成新的长短token】
func (*JwtxMiddlewareGinx) RefreshToken ¶
func (j *JwtxMiddlewareGinx) RefreshToken(ctx *gin.Context, ssid string) (*UserClaims, error)
RefreshToken 刷新JwtToken【当用户操作时,直接刷新token,刷新前验证token】
func (*JwtxMiddlewareGinx) SetToken ¶
func (j *JwtxMiddlewareGinx) SetToken(ctx *gin.Context, userId int64, name string, ssid string) (*UserClaims, error)
SetToken 设置JwtToken【ssid构造一般可以 ssid := uuid.New().String() 来生成随机数【长token】】
- SetToken一般登录时设置调用
- 一般情况--登录设置长短token--》验证token【会获取token验证】--》刷新token--》删除token--》退出登录
func (*JwtxMiddlewareGinx) VerifyToken ¶
func (j *JwtxMiddlewareGinx) VerifyToken(ctx *gin.Context) (*UserClaims, error)
VerifyToken 验证JwtToken
type JwtxMiddlewareGinxConfig ¶
type JwtxMiddlewareGinxConfig struct {
SigningMethod jwt.SigningMethod // 默认HS512加密方式jwt.SigningMethodHS512
DurationExpiresIn time.Duration // 默认30分钟
LongDurationExpiresIn time.Duration // 默认7天
JwtKey []byte // 【必传】
LongJwtKey []byte // 【必传】
HeaderJwtTokenKey string // 默认jwt-token
LongHeaderJwtTokenKey string // 默认long-jwt-token
}
type RefreshUserClaims ¶
type UserClaims ¶
type UserClaims struct {
jwt.RegisteredClaims // jwt.RegisteredClaims是jwt的默认结构体,里面有字段:Issuer, Subject, Audience, ExpiresAt, NotBefore, ID
Uid int64 // 用户id
Name string // 用户名
Ssid string // 登录唯一标识
UserAgent string // 用户代理
}
UserClaims 登录【JWT方式实现:json-web-token】
Click to show internal directories.
Click to hide internal directories.