dotweb middleware for jwt.
go get -u github.com/devfeel/middleware
import "github.com/devfeel/middleware/jwt"
// 设置jwt选项
option := &jwt.Config{
SigningKey: []byte("devfeel/dotweb"), //must input
//use cookie
Extractor: jwt.ExtractorFromCookie,
}
app.AppContext.Set("SimpleJwtConfig", option)
server.Router().GET("/", Index).Use(jwt.Middleware(option))
jwt token在jwt传输存储中的标识,默认为 Authorization
jwt token创建后生存有效期,默认为24小时
验证token使用的签名字符串
用于Authorization header,默认为"Bearer"
加密算法,默认为:jwt.SigningMethodHS256
jwt验证通过后,将解密后的token信息中payload的map[string]interface{}存储在dotweb.Context.Items()中
提取jwt凭证的方式,默认从header中获取,也可设置为从cookie、querystring中获取,name参数是提取token的标识
默认执行 ExtractorFromHeader,可设置为为ExtractorFromCookie ExtractorFromQuery
验证token过程中出现错误执行的操作, 如用户不设置则默认访问返回401未授权
默认执行 defaultOnException
附加的token检查器,将在标准token检查通过后执行
本地token检查器
默认执行 defaultCheckJWT
建议检查流程如下:
- 检查是否传递了token
- 检查token是否可以正常解密
- 检查token是否过期
- 检查通过,保存customValue到context中
- 执行附加检查