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.