jwtx

package
v2.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

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 RefreshUserClaims struct {
	jwt.RegisteredClaims        // jwt.RegisteredClaims是jwt的默认结构体,里面有字段:Issuer, Subject, Audience, ExpiresAt, NotBefore, ID
	Uid                  int64  // 用户id
	Name                 string // 用户名
	Ssid                 string // 登录唯一标识
	UserAgent            string // 用户代理
}

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】

Directories

Path Synopsis
Package jwtxmocks is a generated GoMock package.
Package jwtxmocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL