代码拉取完成,页面将自动刷新
// validToken 验证Token
func (m *GfToken) validToken(ctx context.Context, token string) Resp {
if token == "" {
return Unauthorized(MsgErrTokenEmpty, "")
}
decryptToken := m.DecryptToken(ctx, token)
if !decryptToken.Success() {
return decryptToken
}
userKey := decryptToken.GetString(KeyUserKey)
uuid := decryptToken.GetString(KeyUuid)
userCacheResp := m.getToken(ctx, userKey)
if !userCacheResp.Success() {
return userCacheResp
}
//if uuid != userCacheResp.GetString(KeyUuid) {
//g.Log().Error(ctx, msgLog(MsgErrAuthUuid)+", decryptToken:"+decryptToken.Json()+" cacheValue:"+gconv.String(userCacheResp.Data))
return Unauthorized(MsgErrAuthUuid, "")
}
return userCacheResp
}
// validToken 验证Token
func (m *GfToken) validToken(ctx context.Context, token string) Resp {
if token == "" {
return Unauthorized(MsgErrTokenEmpty, "")
}
decryptToken := m.DecryptToken(ctx, token)
if !decryptToken.Success() {
return decryptToken
}
userKey := decryptToken.GetString(KeyUserKey)
uuid := decryptToken.GetString(KeyUuid)
userCacheResp := m.getToken(ctx, userKey)
if !userCacheResp.Success() {
return userCacheResp
}
//这里的代码会打印日志,无法捕获处理,
//测试方式可以使用过期或错误的TOKEN触发。
或校验失败后,应返回错误的Resp给客户,而不是直接打印出来无法捕获。
//if uuid != userCacheResp.GetString(KeyUuid) {
// //g.Log().Error(ctx, msgLog(MsgErrAuthUuid)+", decryptToken:"+decryptToken.Json()+" cacheValue:"+gconv.String(userCacheResp.Data))
// return Unauthorized(MsgErrAuthUuid, "")
//}
return userCacheResp
}
Unauthorized(MsgErrAuthUuid, "")
这个函数已经把错误写进去了
然后会通过 m.AuthAfterFunc(r, tokenResp) 传出去
你可以自定义AuthAfterFunc的函数通过 respData.Success()来判断自定义返回你想要返回的结果
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论