jwtx

package
v1.6.1 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2021 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DecodeSegment

func DecodeSegment(seg string) ([]byte, error)

func EncodeSegment

func EncodeSegment(seg []byte) string

func KeyIDFromCryptoKey

func KeyIDFromCryptoKey(pubKey *rsa.PublicKey) string

Types

type Claims

type Claims struct {
	Subject      uuid.UUID    `json:"sub,omitempty"`
	Id           string       `json:"jti,omitempty"`
	Acr          string       `json:"acr,omitempty"`
	Issuer       string       `json:"iss,omitempty"`
	IssuedAt     int64        `json:"iat,omitempty"`
	ExpiresAt    int64        `json:"exp,omitempty"`
	NotBefore    int64        `json:"nbf,omitempty"`
	Scope        string       `json:"scope"`
	Audience     []string     `json:"aud,omitempty"`
	Nonce        string       `json:"nonce,omitempty"`
	HasuraClaims HasuraClaims `json:"https://hasura.io/jwt/claims"`
}

type HasuraClaims

type HasuraClaims struct {
	UserID       uuid.UUID `json:"x-hasura-user-id,omitempty"`
	DefaultRole  string    `json:"x-hasura-default-role,omitempty"`
	AllowedRoles []string  `json:"x-hasura-allowed-roles,omitempty"`
}

type Token

type Token struct {
	RawToken string
	Header   TokenHeader
	Claims
	Signature string
}

func NewFor

func NewFor() Token

func Parse

func Parse(rawTokenString string) (Token, error)

func (*Token) IsExpired

func (t *Token) IsExpired() bool

func (*Token) Sign

func (t *Token) Sign(signingString string, key *rsa.PrivateKey) (string, error)

func (*Token) SignedString

func (t *Token) SignedString(key *rsa.PrivateKey) (string, error)

func (*Token) SigningString

func (t *Token) SigningString() (string, error)

func (*Token) Verify

func (t *Token) Verify(pubKey *rsa.PublicKey) error

type TokenHeader

type TokenHeader struct {
	Typ string `json:"typ"`
	Alg string `json:"alg"`
	Kid string `json:"kid"`
}

Jump to

Keyboard shortcuts

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