小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 当前 Bug 的表现(可附上截图)
授权登录获取用户信息返回的signature,有延迟,导致sha1校验的时候失败,后续请求的时候才会成功。
左边的2个红框是微信返回的。右边是我程序按照sha1算法计算出来。
请立即解决下~!
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
wx.login({
success (res) {
if (res.code) {
wx.request({
// 1、服务器api调用 微信 auth.code2Session 获取openid、session_key等信息、缓存在redis中,以备后用
// 2、服务端根据获取的 openid、判断用户是否存在数据库中等计算
url: 'api/onLogin',
data: {
code: res.code
},
success: function (res) {
// 1、服务端返回 登录信息,如果信息不完善则会调用 wx.getUserInfo 获取用户信息,否则直接返回 登录后的token
// 2、这个地方出错的关键: 通过微信获取到用户信息以后,从redis 取得之前的openid、session_key等信息,
// 加上用户信息 进行 signature = sha1( rawData + session_key ) 校验,这个地方有时候会出现校验失败的情况
console.log(res.data)
}
})
} else {
console.log('登录失败!' + res.errMsg)
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
代码能不能贴出来看看啊 你这样说也不知道你问题出在哪里
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
wx.login({
success (res) {
if (res.code) {
wx.request({
// 1、服务器api调用 微信 auth.code2Session 获取openid、session_key等信息、缓存在redis中,以备后用
// 2、服务端根据获取的 openid、判断用户是否存在数据库中等计算
url: 'api/onLogin',
data: {
code: res.code
},
success: function (res) {
// 1、服务端返回 登录信息,如果信息不完善则会调用 wx.getUserInfo 获取用户信息,否则直接返回 登录后的token
// 2、这个地方出错的关键: 通过微信获取到用户信息以后,从redis 取得之前的openid、session_key等信息,
// 加上用户信息 进行 signature = sha1( rawData + session_key ) 校验,这个地方有时候会出现校验失败的情况
console.log(res.data)
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
代码能不能贴出来看看啊 你这样说也不知道你问题出在哪里