Documentation
¶
Index ¶
- type Claims
- type Config
- type EnumError
- type EnumTokenSignatureAlgorithm
- type EnumTokenType
- type EnumValidationMessage
- type Headers
- type Jwt
- func (receiver *Jwt) Create(claims *Claims, headers ...*Headers) (string, error)
- func (receiver *Jwt) GetClaims() *Claims
- func (receiver *Jwt) GetHeaders() *Headers
- func (receiver *Jwt) GetParseOptions() ParseOptions
- func (receiver *Jwt) Parse(jwt string, options ...*ParseOptions) (*Token, EnumValidationMessage, error)
- 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 ¶
This section is empty.
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" )
func (EnumTokenSignatureAlgorithm) IsValid ¶ added in v0.5.4
func (e EnumTokenSignatureAlgorithm) IsValid() bool
func (EnumTokenSignatureAlgorithm) MarshalJSON ¶ added in v0.5.4
func (e EnumTokenSignatureAlgorithm) MarshalJSON() ([]byte, error)
func (*EnumTokenSignatureAlgorithm) UnmarshalJSON ¶ added in v0.5.4
func (e *EnumTokenSignatureAlgorithm) UnmarshalJSON(b []byte) error
type EnumTokenType ¶ added in v0.5.2
type EnumTokenType string
const (
EnumTokenTypeJWT EnumTokenType = "JWT"
)
func (EnumTokenType) IsValid ¶ added in v0.5.4
func (e EnumTokenType) IsValid() bool
func (EnumTokenType) MarshalJSON ¶ added in v0.5.4
func (e EnumTokenType) MarshalJSON() ([]byte, error)
func (*EnumTokenType) UnmarshalJSON ¶ added in v0.5.4
func (e *EnumTokenType) UnmarshalJSON(b []byte) error
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 struct {
// contains filtered or unexported fields
}
func (*Jwt) GetHeaders ¶
func (*Jwt) GetParseOptions ¶
func (receiver *Jwt) GetParseOptions() ParseOptions
func (*Jwt) Parse ¶
func (receiver *Jwt) Parse(jwt string, options ...*ParseOptions) (*Token, EnumValidationMessage, error)
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.