jwt

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MustParseJWTUser added in v1.2.0

func MustParseJWTUser(ctx *gin.Context, opt *Option) (*types.User, error)

MustParseJWTUser 解析 jwt User 信息。如果是静默模式(SilentMode=true), User.ID 可能为零

func NewStatefulToken added in v1.2.0

func NewStatefulToken(user types.User, handler StatefulStore) *token

NewStatefulToken 初始化有状态的 Token 默认发行人为 "go-pkg",可以通过 WithIssuer 修改; 默认有效期为 24h,可以通过 WithDuration 设置有效时长

func NewToken added in v1.1.1

func NewToken(user types.User) *token

NewToken 初始化 Token 默认发行人为 "go-pkg",可以通过 WithIssuer 修改; 默认有效期为 24h,可以通过 WithDuration 设置有效时长

func ParseStatefulTokenWithGinSecret added in v1.2.0

func ParseStatefulTokenWithGinSecret(ctx *gin.Context, secret []byte) (string, *token, error)

ParseStatefulTokenWithGinSecret 解析有状态的 token Deprecated. use ParseTokenWithSecret

func ParseTokenWithGin added in v1.1.1

func ParseTokenWithGin(ctx *gin.Context) (*token, error)

ParseTokenWithGin 通过 gin.Context 初始化 token 从 gin.Context 优先读取 http header 中的 X-Token 值;如果不存在,则读取 query string 中的 token 值

func ParseTokenWithGinSecret added in v1.1.1

func ParseTokenWithGinSecret(ctx *gin.Context, secret []byte) (*token, error)

ParseTokenWithGinSecret 解析 token Deprecated. use ParseTokenWithSecret

func ParseTokenWithSecret added in v1.2.0

func ParseTokenWithSecret(ctx *gin.Context, secret []byte) (string, *token, error)

ParseTokenWithSecret 解析 token

Types

type Option added in v1.2.0

type Option struct {
	// 角色转化函数,转换成角色 IRole
	RoleConvert types.ToRole

	// 过期自动刷新临界时长。零则表示不自动刷新
	RefreshDuration time.Duration

	// token 加密密钥。默认为 "go-pkg.JwtSecret"
	Secret []byte

	// 是否开启静默模式。true-开启:鉴权失败,不注入用户信息;false-关闭。鉴权失败阻断,并抛出错误
	SilentMode bool
}

Option jwt 配置参数

func (*Option) WithSilent added in v1.2.0

func (o *Option) WithSilent(enable bool) *Option

WithSilent 设置是否开启静默模式

type StatefulStore added in v1.2.0

type StatefulStore interface {
	// Save token 状态存储器
	Save(userID uint, token string, expireTs int64) error
	// Check token 状态检查器
	Check(userID uint, token string) error
	// Remove 删除指定 token
	Remove(userID uint, token string) error
	// Clean 清理用户的所有 token
	Clean(userID uint) error
}

StatefulStore 状态存储

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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