Go Token获取异常:token contains an invalid number of segments

一、报错信息

  • token contains an invalid number of segments
  • 百度翻译:令牌包含无效的段数

二、代码

  • 哈哈,原来不仔细,处理Token的时候截取错了
func TokenCheck() gin.HandlerFunc {
    
    
	return func(c *gin.Context) {
    
    
		token := c.GetHeader("Authorization") //先在header中查找一下
		if token == "" {
    
    
			token = c.Query("auth") //然后在url参数中查找一下auth参数名
		} else {
    
    
			prefixLen := len("Bearer ") //Bearer可自定义为一个常量
			token = token[:prefixLen]   //本来是想截取 "Bearer " 后的内容,这里截取成了"Bearer ",哈哈
			token = token[prefixLen:]   //修改成这样既可
		}
		if token == "" {
    
    
			//为空,返回Token为空提示
		}

		//不为空,Token校验操作

		//对上下文本context的其他操作
		c.Set("login_user", 999)
		c.Next()
	}
}

猜你喜欢

转载自blog.csdn.net/qq_36025814/article/details/111287687