编写此包目的,主要是为了验证token,校验用户登陆数据,还可进行权限访问等等:

创建jwt.go。 本演示包位于middleware下

直接上代码,不多说:

package jwt

import (
	"github.com/gin-gonic/gin"
	"myProject/pkg/e"
	"myProject/pkg/util"
	"net/http"
	"strings"
	"time"
)

/**
  每一个请求前验证Token
*/
func JWT() gin.HandlerFunc {
	return func(c *gin.Context) {
		var code int
		var data interface{}

		code = e.SUCCESS
		token := c.Query("token")

		//获取header的token-===========================

		authString := c.Request.Header.Get("Authorization")
		kv := strings.Split(authString, " ")
		if len(kv) != 2 || kv[0] != "Bearer" {
			code = e.ERROR_AUTH_CHECK_TOKEN_FAIL
			return
		} else {
			token = kv[1]
		}

		//========