收藏
回答

是否可以在wx.checkSession接口success返回用户的登录code?

用户第一次wx.login后把登录 code缓存在storage。一天后读取storage有code,然后wx.checkSession验证登录有效性。发现wx.checkSession是success,然后把code丢给后端,却是过期的code。所以wx.checkSession在验证登录有效成功能否直接返回code。否则,只能无数次的调用wx.login刷新登录code.

最后一次编辑于  2020-05-19
回答关注问题邀请回答
收藏

3 个回答

  • 顾辞
    顾辞
    发表于移动端
    2020-07-10
    登录文档里有句话写了,code只能使用一次。第一次请求用了code,第二次请求就不能用相同的了。
    2020-07-10
    有用
    回复
  • 微盟
    微盟
    2020-05-19

    checkSession就做checkSession的事,login就做login的事,这样显然更合理一些。

    2020-05-19
    有用
    回复
  • 睡前原谅一切
    睡前原谅一切
    2020-05-19

    不可以。你的想法就偏了。

    2020-05-19
    有用
    回复 16
    • Ethan
      Ethan
      2020-05-19
      进入小程序wx.login获取code传后端 (sessionKey,openid,JWT所需的token),下一个页面需要获取unionId,再下一个页面需要获取用户手机号。这一整串过程都需要用户的登录code。难道每一次都重新wx.login?还是有什么好的处理方式。
      2020-05-19
      回复
    • 睡前原谅一切
      睡前原谅一切
      2020-05-19回复Ethan
      你先checkSession是否有效,有效你只需要传iv和encryptData这两个给后端就可以解了。如果失效了 你重新wx.login 拿code iv encryptData 这三个给到后端解
      2020-05-19
      回复
    • Ethan
      Ethan
      2020-05-19回复睡前原谅一切
      是的,开始我也是这么和后端沟通的。结果给后端忽悠了说不行。。。
      2020-05-19
      回复
    • 睡前原谅一切
      睡前原谅一切
      2020-05-19回复Ethan
      hhh😂
      2020-05-19
      回复
    • 睡前原谅一切
      睡前原谅一切
      2020-05-19回复Ethan
      那你每个页面如果需要授权 就先wx.login一次。拿最新的code找后端换吧。
      2020-05-19
      回复
    查看更多(11)
登录 后发表内容
问题标签