jwt

package
v6.0.0-beta.2 Latest Latest
Warning

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

Go to latest
Published: May 23, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package jwt JSON Web Tokens 验证

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClaimsBuilderFunc

type ClaimsBuilderFunc[T jwt.Claims] func() T

type Discarder

type Discarder interface {
	// IsDiscarded 令牌是否已被提早丢弃
	IsDiscarded(string) bool
}

Discarder 判断令牌是否被丢弃

在某些情况下,需要强制用户的令牌不再可用,可以使用 Discarder 接口, 当 JWT 接受此对象时,将采用 IsDiscarded 来判断令牌是否是被丢弃的。

type JWT

type JWT[T jwt.Claims] struct {
	// contains filtered or unexported fields
}

func New

func New[T jwt.Claims](d Discarder, b ClaimsBuilderFunc[T], signFunc jwt.SigningMethod, private, public any) *JWT[T]

New 声明 JWT 对象

b 为 Claims 对象的生成方法; private 和 public 为公私钥数据,如果是 hmac 算法,则两者是一样的值;

func NewECDSA

func NewECDSA[T jwt.Claims](d Discarder, b ClaimsBuilderFunc[T], sign *jwt.SigningMethodECDSA, private, public []byte) (*JWT[T], error)

func NewECDSAFromFS

func NewECDSAFromFS[T jwt.Claims](d Discarder, b ClaimsBuilderFunc[T], sign *jwt.SigningMethodECDSA, fsys fs.FS, private, public string) (*JWT[T], error)

func NewEd25519

func NewEd25519[T jwt.Claims](d Discarder, b ClaimsBuilderFunc[T], sign *jwt.SigningMethodEd25519, private, public []byte) (*JWT[T], error)

func NewEd25519FromFS

func NewEd25519FromFS[T jwt.Claims](d Discarder, b ClaimsBuilderFunc[T], sign *jwt.SigningMethodEd25519, fsys fs.FS, private, public string) (*JWT[T], error)

func NewHMAC

func NewHMAC[T jwt.Claims](d Discarder, b ClaimsBuilderFunc[T], sign *jwt.SigningMethodHMAC, secret []byte) *JWT[T]

func NewRSA

func NewRSA[T jwt.Claims](d Discarder, b ClaimsBuilderFunc[T], sign *jwt.SigningMethodRSA, private, public []byte) (*JWT[T], error)

func NewRSAFromFS

func NewRSAFromFS[T jwt.Claims](d Discarder, b ClaimsBuilderFunc[T], sign *jwt.SigningMethodRSA, fsys fs.FS, private, public string) (*JWT[T], error)

func NewRSAPSS

func NewRSAPSS[T jwt.Claims](d Discarder, b ClaimsBuilderFunc[T], sign *jwt.SigningMethodRSAPSS, private, public []byte) (*JWT[T], error)

func NewRSAPSSFromFS

func NewRSAPSSFromFS[T jwt.Claims](d Discarder, b ClaimsBuilderFunc[T], sign *jwt.SigningMethodRSAPSS, fsys fs.FS, private, public string) (*JWT[T], error)

func (JWT[T]) GetToken

func (j JWT[T]) GetToken(ctx *web.Context) string

func (*JWT[T]) GetValue

func (j *JWT[T]) GetValue(ctx *web.Context) (T, bool)

GetValue 返回解码后的 Claims 对象

func (*JWT[T]) Middleware

func (j *JWT[T]) Middleware(next web.HandlerFunc) web.HandlerFunc

Middleware 解码用户的 token 并写入 *web.Context

func (*JWT[T]) Sign

func (j *JWT[T]) Sign(claims jwt.Claims) (string, error)

Sign 生成 token

Jump to

Keyboard shortcuts

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