收藏
回答

调用wx.checkSession和wx.login都提示错误需要重新登录?

我就是调用wx.checkSession提示失败,需要登录。我再调用wx.login,还是提示需要重新登录,哪有调用登录接口还需要登录的?完全看不懂了呀

回答关注问题邀请回答
收藏

1 个回答

  • 正青春
    正青春
    02-01

    checkSession 的作用是到后台检查生成的 sessionKey 是否有效,所以如果你在之前有调用过 login 并且获取了 sessionKey,在新客户端检查收到 success 回调是有可能的。

    正确的做法应该是进入小程序后先检查本地有没有未过期的登录票据(你们自己小程序生成的 sessionId 之类的串),有的话说明后台能找到对应的 sessionKey,这时候才用 checkSession 检查是否过期。如果登录票据都没有,那当然要先 login。


    02-01
    有用
    回复 3
    • 空谷幽兰
      空谷幽兰
      发表于移动端
      02-01
      非常感谢,session部分能理解,现在是调用login也提示需要重新登录,这个我比较疑惑
      02-01
      回复
    • 正青春
      正青春
      02-01回复空谷幽兰
      wx.login:调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台账号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台账号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。
      02-01
      回复
    • 正青春
      正青春
      02-01回复空谷幽兰
      https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html
      02-01
      回复
登录 后发表内容