Versions in this module Expand all Collapse all v0 v0.1.2 Jun 13, 2021 Changes in this version + var ErrNotSigned = errors.New("the operation cannot complete as the token is not yet signed") v0.1.1 Mar 24, 2021 Changes in this version + var ErrImmutable = errors.New("the operation cannot complete as the token is immutable") + var ErrInvalidTokenStructure = errors.New("the provided token is invalid") + type Algorithm string + const ES256 + const EdDSA + const None + const RS256 + type Body map[string]interface + type ES256Signer struct + func NewES256Signer(privateKey *ecdsa.PrivateKey) *ES256Signer + func (s *ES256Signer) Algorithm() Algorithm + func (s *ES256Signer) Sign(b64HeaderAndBody string) ([]byte, error) + type ES256Verifier struct + func NewES256Verifier(publicKey *ecdsa.PublicKey) *ES256Verifier + func (v *ES256Verifier) Verify(b64HeaderAndBody string, signature []byte) bool + type EdDSASigner struct + func NewEdDSASigner(privateKey ed25519.PrivateKey) *EdDSASigner + func (s *EdDSASigner) Algorithm() Algorithm + func (s *EdDSASigner) Sign(b64HeaderAndBody string) ([]byte, error) + type EdDSAVerifier struct + func NewEdDSAVerifier(publicKey ed25519.PublicKey) *EdDSAVerifier + func (v *EdDSAVerifier) Verify(b64HeaderAndBody string, signature []byte) bool + type Header struct + Algorithm Algorithm + KeyID string + Type string + func NewHeader() Header + type RS256Signer struct + func NewRS256Signer(privateKey *rsa.PrivateKey) *RS256Signer + func (s *RS256Signer) Algorithm() Algorithm + func (s *RS256Signer) Sign(b64HeaderAndBody string) ([]byte, error) + type RS256Verifier struct + func NewRS256Verifier(publicKey *rsa.PublicKey) *RS256Verifier + func (v *RS256Verifier) Verify(b64HeaderAndBody string, signature []byte) bool + type Signer interface + Algorithm func() Algorithm + Sign func(b64HeaderAndBody string) ([]byte, error) + type Token struct + Body Body + Header Header + Signature []byte + func NewToken() *Token + func Parse(tokenString string) (*Token, error) + func (t *Token) AddClaim(name string, value interface{}) + func (t *Token) AddScope(scope string) + func (t *Token) GetClaim(name string) (interface{}, bool) + func (t *Token) GetStringClaim(name string) (string, bool) + func (t *Token) HasScope(scope string) bool + func (t *Token) IsSigned() bool + func (t *Token) RemoveClaim(name string) + func (t *Token) RemoveScope(scope string) + func (t *Token) Serialize() (string, error) + func (t *Token) Sign(signer Signer) error + func (t *Token) Verify(verifier Verifier) bool + type Verifier interface + Verify func(b64HeaderAndBody string, signature []byte) bool