jwt

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Claims

type Claims struct {
	UserId string            `json:"user_id"` // 用户 ID(使用 string 类型)
	SSID   string            `json:"ssid"`    // Session ID
	Data   map[string]string `json:"data"`    // 额外数据
	jwt.RegisteredClaims
}

Claims JWT 声明结构

type Manager

type Manager interface {
	// GenerateToken 生成单个 Token(兼容旧版本)
	GenerateToken(claims Claims) (string, error)

	// GenerateTokenPair 生成 Token 对(Access Token + Refresh Token)
	GenerateTokenPair(claims Claims) (*TokenPair, error)

	// VerifyToken 验证 Token
	VerifyToken(token string) (*Claims, error)

	// VerifyRefreshToken 验证 Refresh Token
	VerifyRefreshToken(token string) (*Claims, error)
}

Manager JWT 管理器接口

func NewManager

func NewManager(opts Options) Manager

NewManager 创建 JWT 管理器

type Options

type Options struct {
	// 签名密钥
	SignKey string
	// Access Token 过期时间
	AccessExpire time.Duration
	// Refresh Token 过期时间
	RefreshExpire time.Duration
	// 签名方法
	Method jwt.SigningMethod
	// 发行者
	Issuer string
}

Options JWT 配置选项

func NewOptions

func NewOptions(signKey string, accessExpire, refreshExpire time.Duration) Options

NewOptions 创建默认的 JWT 配置 accessExpire: Access Token 过期时间(建议 15 分钟 - 2 小时) refreshExpire: Refresh Token 过期时间(建议 7 天 - 30 天)

type TokenPair

type TokenPair struct {
	AccessToken  string `json:"access_token"`  // 访问令牌(短期有效)
	RefreshToken string `json:"refresh_token"` // 刷新令牌(长期有效)
}

TokenPair Token 对(Access Token + Refresh Token)

Jump to

Keyboard shortcuts

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