Documentation
¶
Index ¶
- Constants
- Variables
- func GetMapClaims(self *makross.Context, contextKey ...string) jwt.MapClaims
- func JWT(key string) makross.Handler
- func JWTWithConfig(config JWTConfig) makross.Handler
- func NewMapClaims() jwt.MapClaims
- func NewToken(alg string, claims jwt.MapClaims) *jwt.Token
- func NewTokenString(secret string, alg string, claims jwt.MapClaims) (string, error)
- type JWTConfig
Constants ¶
View Source
const (
AlgorithmHS256 = "HS256"
)
Algorithims
Variables ¶
View Source
var (
Bearer = "Bearer" // 不能用const定义,需要允许被外部修改设定~
)
View Source
var ( // DefaultJWTConfig is the default JWT auth middleware config. DefaultJWTConfig = JWTConfig{ Skipper: skipper.DefaultSkipper, Expires: time.Hour, SigningMethod: AlgorithmHS256, ContextKey: "jwt", TokenLookup: "header:" + makross.HeaderAuthorization, Claims: jwt.MapClaims{}, } )
Functions ¶
func JWT ¶
JWT returns a JSON Web Token (JWT) auth middleware.
For valid token, it sets the user in context and calls next handler. For invalid token, it returns "401 - Unauthorized" error. For empty token, it returns "400 - Bad Request" error.
See: https://jwt.io/introduction See `JWTConfig.TokenLookup`
func JWTWithConfig ¶
JWTWithConfig returns a JWT auth middleware with config. See: `JWT()`.
func NewMapClaims ¶
Types ¶
type JWTConfig ¶
type JWTConfig struct { // Skipper defines a function to skip middleware. Skipper skipper.Skipper Expires time.Duration // Signing key to validate token. // Required. SigningKey interface{} `json:"signing_key"` // Signing method, used to check token signing method. // Optional. Default value HS256. SigningMethod string `json:"signing_method"` // Context key to store user information from the token into context. // Optional. Default value "user". ContextKey string `json:"context_key"` // Claims are extendable claims data defining token content. // Optional. Default value jwt.MapClaims Claims jwt.Claims // TokenLookup is a string in the form of "<source>:<name>" that is used // to extract token from the request. // Optional. Default value "header:Authorization". // Possible values: // - "header:<name>" // - "query:<name>" // - "cookie:<name>" TokenLookup string `json:"token_lookup"` // contains filtered or unexported fields }
JWTConfig defines the config for JWT middleware.
Click to show internal directories.
Click to hide internal directories.