30 lines
831 B
Go
30 lines
831 B
Go
package middleware
|
||
|
||
import (
|
||
"yitao/config"
|
||
|
||
"github.com/iris-contrib/middleware/jwt"
|
||
)
|
||
|
||
var JwtMiddleware *jwt.Middleware
|
||
|
||
func init() {
|
||
JwtMiddleware = jwt.New(jwt.Config{
|
||
// Extractor属性可以选择从什么地方获取jwt进行验证,默认从http请求的header中的Authorization字段提取,也可指定为请求参数中的某个字段
|
||
|
||
// 从请求参数token中提取
|
||
// Extractor: jwt.FromParameter("token"),
|
||
|
||
// 从请求头的Authorization字段中提取,这个是默认值
|
||
Extractor: jwt.FromAuthHeader,
|
||
|
||
// 设置一个函数返回秘钥,关键在于return []byte("这里设置秘钥")
|
||
ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
|
||
return []byte(config.GetConfig().JwtSecret), nil
|
||
},
|
||
|
||
// 设置一个加密方法
|
||
SigningMethod: jwt.SigningMethodHS256,
|
||
})
|
||
}
|