1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /*
- * @description:
- * @Author: CP
- * @Date: 2020-09-17 17:15:00
- * @FilePath: \construction_management\web\middleware\jwt.go
- */
- package middleware
- import (
- "github.com/iris-contrib/middleware/jwt"
- "github.com/kataras/iris/v12"
- "go.mod/conf"
- )
- // ResModel 返回数据模板
- type ResModel struct {
- Code string `json:"code"`
- Msg string `json:"msg"`
- Data interface{} `json:"data"`
- }
- func JwtAuth() *jwt.Middleware {
- j2 := jwt.New(jwt.Config{
- // 注意,新增了一个错误处理函数
- ErrorHandler: func(ctx iris.Context, err error) {
- if err == nil {
- return
- }
- ctx.StopExecution()
- ctx.StatusCode(iris.StatusUnauthorized)
- ctx.JSON(ResModel{
- Code: "501",
- Msg: err.Error(),
- })
- },
- // 设置一个函数返回秘钥,关键在于return []byte("这里设置秘钥")
- ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
- return []byte(conf.SignSecret), nil
- },
- // 设置一个加密方法
- SigningMethod: jwt.SigningMethodHS256,
- })
- return j2
- }
|