Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecodeSegment ¶
Decode JWT specific base64url encoding with padding stripped
func EncodeSegment ¶
Encode JWT specific base64url encoding with padding stripped
func RegisterSigningMethod ¶
func RegisterSigningMethod(alg string, f func() SigningMethod)
Register the "alg" name and a factory function for signing method. This is typically done during init() in the method's implementation
Types ¶
type Keyfunc ¶
Parse methods use this callback function to supply the key for verification. The function receives the parsed, but unverified Token. This allows you to use propries in the Header of the token (such as `kid`) to identify which key to use.
type SigningMethod ¶
type SigningMethod interface {
Verify(signingString, signature string, key []byte) error
Sign(signingString string, key []byte) (string, error)
Alg() string
}
Signing method
func GetSigningMethod ¶
func GetSigningMethod(alg string) (method SigningMethod)
Get a signing method from an "alg" string
type SigningMethodHS256 ¶
type SigningMethodHS256 struct{}
func (*SigningMethodHS256) Alg ¶
func (m *SigningMethodHS256) Alg() string
type SigningMethodRS256 ¶
type SigningMethodRS256 struct{}
func (*SigningMethodRS256) Alg ¶
func (m *SigningMethodRS256) Alg() string
type Token ¶
type Token struct {
Raw string
Header map[string]interface{}
Claims map[string]interface{}
Method SigningMethod
// This is only populated when you Parse a token
Signature string
// This is only populated when you Parse/Verify a token
Valid bool
}
A JWT Token
func New ¶
func New(method SigningMethod) *Token
func Parse ¶
Parse, validate, and return a token. keyFunc will receive the parsed token and should return the key for validating. If everything is kosher, err will be nil
func ParseFromRequest ¶
Try to find the token in an http.Request. This method will call ParseMultipartForm if there's no token in the header. Currently, it looks in the Authorization header as well as looking for an 'access_token' request parameter in req.Form.
func (*Token) SignedString ¶
Get the complete, signed token
func (*Token) SigningString ¶
Generate the signing string. This is the most expensive part of the whole deal. Unless you need this for something special, just go straight for the SignedString.