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 管理器抽象
Click to show internal directories.
Click to hide internal directories.