jwt

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithIssuer

func WithIssuer(issuer string) option.Opt[ClaimsConfig]

func WithJtiGenerator

func WithJtiGenerator(jtiGenerator func() string) option.Opt[ClaimsConfig]

Types

type ClaimsConfig

type ClaimsConfig struct {
	Issuer       string        // 签发人
	Expiration   time.Duration // 有效期
	JtiGenerator func() string // jwt id 生成方法
}

ClaimsConfig jwt claims 扩展配置项

func NewClaimsConfig

func NewClaimsConfig(expiration time.Duration, opts ...option.Opt[ClaimsConfig]) ClaimsConfig

NewClaimsConfig 创建自定义 claims 配置信息。 过期时间必须显示指定。 其他参数可以通过 option.Opt 自定义。

type CustomClaims

type CustomClaims[T any] struct {
	jwt.RegisteredClaims
	Data T
}

type DefaultManager added in v0.0.7

type DefaultManager[T any] struct {
	// contains filtered or unexported fields
}

func (*DefaultManager[T]) Decrypt added in v0.0.7

func (m *DefaultManager[T]) Decrypt(token string, opts ...jwt.ParserOption) (CustomClaims[T], error)

func (*DefaultManager[T]) Encrypt added in v0.0.7

func (m *DefaultManager[T]) Encrypt(data T) (string, error)

type DefaultManagerBuilder added in v0.0.7

type DefaultManagerBuilder[T any] struct {
	// contains filtered or unexported fields
}

DefaultManagerBuilder 默认 jwt 管理器 builder。 注意默认 token 过期时间为 24 小时。

func NewDefaultManagerBuilder added in v0.0.7

func NewDefaultManagerBuilder[T any](encryptKey string, decryptKey string) *DefaultManagerBuilder[T]

func (*DefaultManagerBuilder[T]) Build added in v0.0.7

func (b *DefaultManagerBuilder[T]) Build() *DefaultManager[T]

func (*DefaultManagerBuilder[T]) ClaimsConfig added in v0.0.7

func (b *DefaultManagerBuilder[T]) ClaimsConfig(config ClaimsConfig) *DefaultManagerBuilder[T]

func (*DefaultManagerBuilder[T]) SigningMethod added in v0.0.7

func (b *DefaultManagerBuilder[T]) SigningMethod(signingMethod jwt.SigningMethod) *DefaultManagerBuilder[T]

type Ed25519Manager

type Ed25519Manager[T any] struct {
	// contains filtered or unexported fields
}

func (*Ed25519Manager[T]) Decrypt

func (m *Ed25519Manager[T]) Decrypt(token string, opts ...jwt.ParserOption) (CustomClaims[T], error)

func (*Ed25519Manager[T]) Encrypt

func (m *Ed25519Manager[T]) Encrypt(data T) (string, error)

type Ed25519ManagerBuilder added in v0.0.7

type Ed25519ManagerBuilder[T any] struct {
	// contains filtered or unexported fields
}

Ed25519ManagerBuilder ed25519 jwt 管理器 builder。 注意默认 token 过期时间为 24 小时。

func NewEd25519ManagerBuilder added in v0.0.7

func NewEd25519ManagerBuilder[T any](encryptKey string, decryptKey string) *Ed25519ManagerBuilder[T]

func (*Ed25519ManagerBuilder[T]) Build added in v0.0.7

func (b *Ed25519ManagerBuilder[T]) Build() (*Ed25519Manager[T], error)

func (*Ed25519ManagerBuilder[T]) ClaimsConfig added in v0.0.7

func (b *Ed25519ManagerBuilder[T]) ClaimsConfig(config ClaimsConfig) *Ed25519ManagerBuilder[T]

type Manager

type Manager[T any] interface {
	Encrypt(data T) (string, error)
	Decrypt(token string, opts ...jwt.ParserOption) (CustomClaims[T], error)
}

Manager jwt 管理器抽象

Jump to

Keyboard shortcuts

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