Documentation
¶
Index ¶
- func NewToken(config *Config) (*resources, error)
- type Claims
- type Config
- type EnumError
- type EnumTokenSignatureAlgorithm
- type EnumTokenType
- type EnumValidationMessage
- type Headers
- type Jwt
- type MockDescription
- func (s *MockDescription) Create(_ Claims, _ ...Headers) (string, error)
- func (s *MockDescription) GetClaims() Claims
- func (s *MockDescription) GetHeaders() Headers
- func (s *MockDescription) GetParseOptions() ParseOptions
- func (s *MockDescription) Parse(_ string, _ ...ParseOptions) (Token, string, error)
- type ParseOptions
- type Token
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Claims ¶
type Claims struct { Issuer string `json:"iss,omitempty"` Subject string `json:"sub,omitempty"` Audience string `json:"aud,omitempty"` ExpirationTime int64 `json:"exp"` NotBefore int64 `json:"nbf,omitempty"` IssuedAt int64 `json:"iat"` JwtId string `json:"jti,omitempty"` Data []byte `json:"data,omitempty"` // It is a custom field for any data (for example, encrypted data). }
type Config ¶
type Config struct { Headers *Headers Claims *Claims ParseOptions ParseOptions TokenLifetime int64 Key string }
type EnumTokenSignatureAlgorithm ¶ added in v0.5.2
type EnumTokenSignatureAlgorithm string
const ( EnumTokenSignatureAlgorithmHS256 EnumTokenSignatureAlgorithm = "HS256" EnumTokenSignatureAlgorithmHS512 EnumTokenSignatureAlgorithm = "HS512" )
type EnumTokenType ¶ added in v0.5.2
type EnumTokenType string
const (
EnumTokenTypeJWT EnumTokenType = "JWT"
)
type EnumValidationMessage ¶ added in v0.5.2
type EnumValidationMessage string
const ( EnumValidationMessageMalformed EnumValidationMessage = "token is malformed" EnumValidationMessageHeadersMalformed EnumValidationMessage = "token headers are malformed" EnumValidationMessageClaimsMalformed EnumValidationMessage = "token claims are malformed" EnumValidationMessageUnverifiable EnumValidationMessage = "the token could not be verified due to problems with the generation of the test sample" EnumValidationMessageSignatureInvalid EnumValidationMessage = "signature validation failed" EnumValidationMessageHeadersContentType EnumValidationMessage = "header 'cty' validation failed" EnumValidationMessageHeadersKeyId EnumValidationMessage = "header 'kid' validation failed" EnumValidationMessageHeadersCritical EnumValidationMessage = "header 'crit' validation failed" EnumValidationMessageClaimsIssuer EnumValidationMessage = "claim 'iss' validation failed" EnumValidationMessageClaimsSubject EnumValidationMessage = "claim 'sub' validation failed" EnumValidationMessageClaimsAudience EnumValidationMessage = "claim 'aud' validation failed" EnumValidationMessageClaimsExpired EnumValidationMessage = "claim 'exp' validation failed" EnumValidationMessageClaimsNotValidYet EnumValidationMessage = "claim 'nbf' validation failed" EnumValidationMessageClaimsIssuedAt EnumValidationMessage = "claim 'iat' validation failed" EnumValidationMessageClaimsJwtId EnumValidationMessage = "claim 'jti' validation failed" EnumValidationMessageClaimsData EnumValidationMessage = "claim 'data' validation failed" )
type Headers ¶
type Headers struct { Type EnumTokenType `json:"typ"` SignatureAlgorithm EnumTokenSignatureAlgorithm `json:"alg"` ContentType string `json:"cty,omitempty"` KeyId string `json:"kid,omitempty"` Critical string `json:"crit,omitempty"` }
type Jwt ¶
type Jwt interface { Create(claims *Claims, headers ...*Headers) (string, error) Parse(jwt string, options ...*ParseOptions) (*Token, EnumValidationMessage, error) GetHeaders() *Headers GetClaims() *Claims GetParseOptions() ParseOptions }
type MockDescription ¶
type MockDescription struct { Expected struct { Create struct { Jwt string Error error } Parse struct { Token Token Error error } GetHeaders struct { Headers Headers } GetClaims struct { Claims Claims } GetParseOptions struct { ParseOptions ParseOptions } } }
var Mock MockDescription
func (*MockDescription) Create ¶
func (s *MockDescription) Create(_ Claims, _ ...Headers) (string, error)
func (*MockDescription) GetClaims ¶
func (s *MockDescription) GetClaims() Claims
func (*MockDescription) GetHeaders ¶
func (s *MockDescription) GetHeaders() Headers
func (*MockDescription) GetParseOptions ¶
func (s *MockDescription) GetParseOptions() ParseOptions
func (*MockDescription) Parse ¶
func (s *MockDescription) Parse(_ string, _ ...ParseOptions) (Token, string, error)
type ParseOptions ¶
type ParseOptions struct { RequiredHeaderContentType bool RequiredHeaderKeyId bool RequiredHeaderX509CertificateChain bool RequiredHeaderX509CertificateChainURL bool RequiredHeaderCritical bool RequiredClaimIssuer bool RequiredClaimSubject bool RequiredClaimAudience bool RequiredClaimJwtId bool RequiredClaimData bool SkipClaimsValidation bool SkipSignatureValidation bool }
Click to show internal directories.
Click to hide internal directories.