Versions in this module Expand all Collapse all v1 v1.0.1 Jul 9, 2021 Changes in this version + const TimePrecision + const UnsafeAllowNoneSignatureType + var DefaultValidationHelper = &ValidationHelper + var ErrHashUnavailable = new(HashUnavailableError) + var ErrKeyMustBePEMEncoded = errors.New("invalid Key: Key must be PEM encoded PKCS1 or PKCS8 private key") + var ErrNotECPrivateKey = errors.New("key is not a valid ECDSA private key") + var ErrNotECPublicKey = errors.New("key is not a valid ECDSA public key") + var ErrNotRSAPrivateKey = errors.New("key is not a valid RSA private key") + var ErrNotRSAPublicKey = errors.New("key is not a valid RSA public key") + var NoneSignatureTypeDisallowedError error + var SigningMethodNone *signingMethodNone + var TimeFunc = time.Now + func DecodeSegment(seg string) ([]byte, error) + func EncodeSegment(seg []byte) string + func NewInvalidKeyTypeError(expected string, received interface{}) error + func ParseECPrivateKeyFromPEM(key []byte) (*ecdsa.PrivateKey, error) + func ParseECPublicKeyFromPEM(key []byte) (*ecdsa.PublicKey, error) + func ParseRSAPrivateKeyFromPEM(key []byte) (*rsa.PrivateKey, error) + func ParseRSAPrivateKeyFromPEMWithPassword(key []byte, password string) (*rsa.PrivateKey, error) + func ParseRSAPublicKeyFromPEM(key []byte) (*rsa.PublicKey, error) + func RegisterSigningMethod(alg string, f func() SigningMethod) + type ClaimStrings []string + func ParseClaimStrings(value interface{}) (ClaimStrings, error) + func (c *ClaimStrings) UnmarshalJSON(data []byte) error + type Claims interface + Valid func(*ValidationHelper) error + type CodingContext struct + Header map[string]interface{} + type ErrorWrapper struct + func (w ErrorWrapper) Unwrap() error + func (w ErrorWrapper) Wrap(err error) + type FieldDescriptor uint8 + const ClaimsFieldDescriptor + const HeaderFieldDescriptor + type HashUnavailableError struct + func (e *HashUnavailableError) Error() string + type InvalidAudienceError struct + Message string + func (e *InvalidAudienceError) Error() string + type InvalidIssuerError struct + Message string + func (e *InvalidIssuerError) Error() string + type InvalidKeyError struct + Message string + func (e *InvalidKeyError) Error() string + type InvalidKeyTypeError struct + Expected string + Received string + func (e *InvalidKeyTypeError) Error() string + type InvalidSignatureError struct + Message string + func (e *InvalidSignatureError) Error() string + type Keyfunc func(*Token) (interface{}, error) + func KnownKeyfunc(signingMethod SigningMethod, key interface{}) Keyfunc + type MalformedTokenError struct + Message string + func (e *MalformedTokenError) Error() string + type MapClaims map[string]interface + func (m MapClaims) LoadTimeValue(key string) (*Time, error) + func (m MapClaims) Valid(h *ValidationHelper) error + func (m MapClaims) VerifyAudience(h *ValidationHelper, cmp string) error + func (m MapClaims) VerifyIssuer(h *ValidationHelper, cmp string) error + type Parser struct + func NewParser(options ...ParserOption) *Parser + func (p *Parser) Parse(tokenString string, keyFunc Keyfunc) (*Token, error) + func (p *Parser) ParseUnverified(tokenString string, claims Claims) (token *Token, parts []string, err error) + func (p *Parser) ParseWithClaims(tokenString string, claims Claims, keyFunc Keyfunc) (*Token, error) + type ParserOption func(*Parser) + func WithAudience(aud string) ParserOption + func WithIssuer(iss string) ParserOption + func WithJSONNumber() ParserOption + func WithLeeway(d time.Duration) ParserOption + func WithUnmarshaller(um TokenUnmarshaller) ParserOption + func WithValidMethods(valid []string) ParserOption + func WithoutAudienceValidation() ParserOption + func WithoutClaimsValidation() ParserOption + type SigningMethod interface + Alg func() string + Sign func(signingString string, key interface{}) (string, error) + Verify func(signingString, signature string, key interface{}) error + func GetSigningMethod(alg string) (method SigningMethod) + type SigningMethodECDSA struct + CurveBits int + Hash crypto.Hash + KeySize int + Name string + var SigningMethodES256 *SigningMethodECDSA + var SigningMethodES384 *SigningMethodECDSA + var SigningMethodES512 *SigningMethodECDSA + func (m *SigningMethodECDSA) Alg() string + func (m *SigningMethodECDSA) Sign(signingString string, key interface{}) (string, error) + func (m *SigningMethodECDSA) Verify(signingString, signature string, key interface{}) error + type SigningMethodHMAC struct + Hash crypto.Hash + Name string + var ErrSignatureInvalid = errors.New("signature is invalid") + var SigningMethodHS256 *SigningMethodHMAC + var SigningMethodHS384 *SigningMethodHMAC + var SigningMethodHS512 *SigningMethodHMAC + func (m *SigningMethodHMAC) Alg() string + func (m *SigningMethodHMAC) Sign(signingString string, key interface{}) (string, error) + func (m *SigningMethodHMAC) Verify(signingString, signature string, key interface{}) error + type SigningMethodRSA struct + Hash crypto.Hash + Name string + var SigningMethodRS256 *SigningMethodRSA + var SigningMethodRS384 *SigningMethodRSA + var SigningMethodRS512 *SigningMethodRSA + func (m *SigningMethodRSA) Alg() string + func (m *SigningMethodRSA) Sign(signingString string, key interface{}) (string, error) + func (m *SigningMethodRSA) Verify(signingString, signature string, key interface{}) error + type SigningMethodRSAPSS struct + Options *rsa.PSSOptions + var SigningMethodPS256 *SigningMethodRSAPSS + var SigningMethodPS384 *SigningMethodRSAPSS + var SigningMethodPS512 *SigningMethodRSAPSS + func (m *SigningMethodRSAPSS) Sign(signingString string, key interface{}) (string, error) + func (m *SigningMethodRSAPSS) Verify(signingString, signature string, key interface{}) error + type SigningOption func(*signingOptions) + func WithMarshaller(m TokenMarshaller) SigningOption + type StandardClaims struct + Audience ClaimStrings + ExpiresAt *Time + ID string + IssuedAt *Time + Issuer string + NotBefore *Time + Subject string + func (c *StandardClaims) VerifyAudience(h *ValidationHelper, cmp string) error + func (c *StandardClaims) VerifyIssuer(h *ValidationHelper, cmp string) error + func (c StandardClaims) Valid(h *ValidationHelper) error + type Time struct + func At(at time.Time) *Time + func NewTime(t float64) *Time + func Now() *Time + func ParseTime(value interface{}) (*Time, error) + func (t *Time) MarshalJSON() ([]byte, error) + func (t *Time) UnmarshalJSON(data []byte) error + type Token struct + Claims Claims + Header map[string]interface{} + Method SigningMethod + Raw string + Signature string + Valid bool + func New(method SigningMethod) *Token + func NewWithClaims(method SigningMethod, claims Claims) *Token + func Parse(tokenString string, keyFunc Keyfunc, options ...ParserOption) (*Token, error) + func ParseWithClaims(tokenString string, claims Claims, keyFunc Keyfunc, options ...ParserOption) (*Token, error) + func (t *Token) SignedString(key interface{}, opts ...SigningOption) (string, error) + func (t *Token) SigningString(opts ...SigningOption) (string, error) + type TokenMarshaller func(ctx CodingContext, v interface{}) ([]byte, error) + type TokenUnmarshaller func(ctx CodingContext, data []byte, v interface{}) error + type UnverfiableTokenError struct + Message string + func (e *UnverfiableTokenError) Error() string + type ValidationHelper struct + func NewValidationHelper(options ...ParserOption) *ValidationHelper + func (h *ValidationHelper) After(t time.Time) bool + func (h *ValidationHelper) Before(t time.Time) bool + func (h *ValidationHelper) ValidateAudience(aud ClaimStrings) error + func (h *ValidationHelper) ValidateAudienceAgainst(aud ClaimStrings, compare string) error + func (h *ValidationHelper) ValidateExpiresAt(exp *Time) error + func (h *ValidationHelper) ValidateIssuer(iss string) error + func (h *ValidationHelper) ValidateIssuerAgainst(iss string, compare string) error + func (h *ValidationHelper) ValidateNotBefore(nbf *Time) error