jwt

package module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2022 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	NotVaildErr     = errors.New("Not a vaild jwt")
	NotVerifiedErr  = errors.New("Not a verified jwt")
	ExpiredErr      = errors.New("Token expired")
	NotBeforeErr    = errors.New("Token is not in activity")
	SubjectNotMatch = errors.New("Token subject not match")
)

Functions

func Encode

func Encode(header *Header, payload interface{}, key []byte) (token []byte, err error)

func EncodeToString

func EncodeToString(header *Header, payload interface{}, key []byte) (token string, err error)

func GenerateBytes

func GenerateBytes() (data []byte, err error)

func NewKey

func NewKey(data []byte) (key []byte)

func NewKeyWithString

func NewKeyWithString(data string) []byte

Types

type Header struct {
	NoChange   string      `json:"typ"`
	Signer     SignType    `json:"alg"`
	IssuedAt   time.Time   `json:"isa"`
	Id         string      `json:"jti,omitempty"`
	Expiration *time.Time  `json:"exp,omitempty"`
	NotBefore  *time.Time  `json:"nbf,omitempty"`
	Issuer     string      `json:"iss,omitempty"`
	Audience   string      `json:"aud,omitempty"`
	Subject    string      `json:"sub,omitempty"`
	Extra      interface{} `json:"ext,omitempty"`
}

func Decode

func Decode(token []byte, ptr interface{}, key []byte) (header *Header, err error)

func DecodeString

func DecodeString(token string, ptr interface{}, key []byte) (header *Header, err error)

func NewHeader

func NewHeader() (h *Header)

func (*Header) ActivateAfter

func (h *Header) ActivateAfter(t time.Duration) *Header

func (*Header) Duration

func (h *Header) Duration(t time.Duration) *Header

func (*Header) IsActivity

func (h *Header) IsActivity() bool

func (*Header) IsExpired

func (h *Header) IsExpired() bool

func (*Header) SetAudience

func (h *Header) SetAudience(v string) *Header

func (*Header) SetExpiration

func (h *Header) SetExpiration(t time.Time) *Header

func (*Header) SetExtra

func (h *Header) SetExtra(v interface{}) *Header

func (*Header) SetId

func (h *Header) SetId(id string) *Header

func (*Header) SetIssuer

func (h *Header) SetIssuer(v string) *Header

func (*Header) SetNotBefore

func (h *Header) SetNotBefore(t time.Time) *Header

func (*Header) SetSigner

func (h *Header) SetSigner(s SignType) *Header

func (*Header) SetSubject

func (h *Header) SetSubject(v string) *Header

type Map

type Map = map[string]interface{}

type SignType

type SignType string
const (
	SignHS512     SignType = "HS512"
	SignHS384     SignType = "HS384"
	SignHS512_256 SignType = "HS512/256"
	SignHS512_224 SignType = "HS512/224"
	SignHS256     SignType = "HS256"
	SignHS224     SignType = "HS224"
)

func (SignType) Hasher

func (s SignType) Hasher() hasherFunc

Jump to

Keyboard shortcuts

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