Documentation
¶
Overview ¶
Package JWT is able to generate and validate json web tokens. Follows https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32
Index ¶
- func Copy(elements map[string]interface{}) (result map[string]interface{})
- func Filter(elements map[string]interface{}, keys ...string) map[string]interface{}
- func ToString(i interface{}) string
- func ToTime(i interface{}) time.Time
- type Headers
- type IDTokenClaims
- type JWTClaims
- type Mapper
- type RS256JWTStrategy
- func (j *RS256JWTStrategy) Decode(token string) (*jwt.Token, error)
- func (j *RS256JWTStrategy) Generate(claims Mapper, header Mapper) (string, string, error)
- func (j *RS256JWTStrategy) GetSignature(token string) (string, error)
- func (c *RS256JWTStrategy) GetSigningMethodLength() int
- func (c *RS256JWTStrategy) Hash(in []byte) ([]byte, error)
- func (j *RS256JWTStrategy) Validate(token string) (string, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Headers ¶
type Headers struct {
Extra map[string]interface{}
}
HeaderContext is the context for a jwt header.
type IDTokenClaims ¶
type IDTokenClaims struct {
Issuer string
Subject string
Audience string
Nonce string
ExpiresAt time.Time
IssuedAt time.Time
AuthTime time.Time
AccessTokenHash []byte
CodeHash []byte
Extra map[string]interface{}
}
func (*IDTokenClaims) Add ¶
func (c *IDTokenClaims) Add(key string, value interface{})
func (*IDTokenClaims) Get ¶
func (c *IDTokenClaims) Get(key string) interface{}
func (*IDTokenClaims) ToMap ¶
func (c *IDTokenClaims) ToMap() map[string]interface{}
type JWTClaims ¶
type JWTClaims struct {
Subject string
Issuer string
Audience string
JTI string
IssuedAt time.Time
NotBefore time.Time
ExpiresAt time.Time
Extra map[string]interface{}
}
JWTClaims represent a token's claims.
func JWTClaimsFromMap ¶
func (*JWTClaims) IsNotYetValid ¶
IsNotYetValid maskes sure that the JWT is not used before valid date.
type RS256JWTStrategy ¶
type RS256JWTStrategy struct {
PrivateKey *rsa.PrivateKey
}
Enigma is responsible for generating and validating challenges.
func (*RS256JWTStrategy) Decode ¶
func (j *RS256JWTStrategy) Decode(token string) (*jwt.Token, error)
func (*RS256JWTStrategy) Generate ¶
Generate generates a new authorize code or returns an error. set secret
func (*RS256JWTStrategy) GetSignature ¶
func (j *RS256JWTStrategy) GetSignature(token string) (string, error)
func (*RS256JWTStrategy) GetSigningMethodLength ¶
func (c *RS256JWTStrategy) GetSigningMethodLength() int
Click to show internal directories.
Click to hide internal directories.