Package jwt
Overview ▹
Index ▹
Constants
const ( // JWTTokenContextKey holds the key used to store a JWT Token in the // context. JWTTokenContextKey contextKey = "JWTToken" // JWTClaimsContextKey holds the key used to store the JWT Claims in the // context. JWTClaimsContextKey contextKey = "JWTClaims" )
Variables
var ( // ErrTokenContextMissing denotes a token was not passed into the parsing // middleware's context. ErrTokenContextMissing = errors.New("token up for parsing was not passed through the context") // ErrTokenInvalid denotes a token was not able to be validated. ErrTokenInvalid = errors.New("JWT Token was invalid") // ErrTokenExpired denotes a token's expire header (exp) has since passed. ErrTokenExpired = errors.New("JWT Token is expired") // ErrTokenMalformed denotes a token was not formatted as a JWT token. ErrTokenMalformed = errors.New("JWT Token is malformed") // ErrTokenNotActive denotes a token's not before header (nbf) is in the // future. ErrTokenNotActive = errors.New("token is not valid yet") // ErrUnexpectedSigningMethod denotes a token was signed with an unexpected // signing method. ErrUnexpectedSigningMethod = errors.New("unexpected signing method") )
func FromGRPCContext ¶
func FromGRPCContext() grpc.ClientRequestFunc
FromGRPCContext moves JWT token from context to grpc metadata. Particularly useful for clients.
func FromHTTPContext ¶
func FromHTTPContext() http.RequestFunc
FromHTTPContext moves JWT token from context to request header. Particularly useful for clients.
func NewParser ¶
func NewParser(keyFunc jwt.Keyfunc, method jwt.SigningMethod) endpoint.Middleware
NewParser creates a new JWT token parsing middleware, specifying a jwt.Keyfunc interface and the signing method. NewParser adds the resulting claims to endpoint context or returns error on invalid token. Particularly useful for servers.
func NewSigner ¶
func NewSigner(kid string, key []byte, method jwt.SigningMethod, claims Claims) endpoint.Middleware
NewSigner creates a new JWT token generating middleware, specifying key ID, signing string, signing method and the claims you would like it to contain. Tokens are signed with a Key ID header (kid) which is useful for determining the key to use for parsing. Particularly useful for clients.
func ToGRPCContext ¶
func ToGRPCContext() grpc.ServerRequestFunc
ToGRPCContext moves JWT token from grpc metadata to context. Particularly userful for servers.
func ToHTTPContext ¶
func ToHTTPContext() http.RequestFunc
ToHTTPContext moves JWT token from request header to context. Particularly useful for servers.
type Claims ¶
Claims is a map of arbitrary claim data.
type Claims map[string]interface{}