session_key是小程序自身存在的还是login获取的
发布于 6 年前 作者 aluo 7114 次浏览 来自 问答

如题,session_key是否为小程序的自有属性?即:

小程序进入生命周期起就拥有session_key并拥有自己的有效期会过期并自动刷新,而login用于获取当前session_key并有可能刷新session_key

如果不是的话,是否当没有调用wx.login时session_key就不存在。且获取的session_key在失效并没有获得时就会消失处于无session_key状态


这两种情况到底哪种才是正解,还是都有问题?


先说下会产生这个问题的背景:

一个单页面小程序需要获取用户信息。此时,

所需要做的事情有:

通过login拿到____code

用户触发按钮拿到____加密信息及密钥等

把code和加密信息等传给服务端

后端用code获取session_key,并解密出明文


大概是这样一个流程。其中__加密数据(encryptedData)是基于session_key加密的。__

那么在没有login的情况下这个session_key肯定是存在的。所以会产生session_key是否是自有属性的这个问题。


基于这个背景的另一个问题是:

如果login获取code在用户点击按钮回调的外部(onLoad),没法确认用户点击按钮触发getNumber时,login已经成功获取回调取得code

而如果login在在用户点击按钮回调的内部,login可能会刷新session_key,导致给后端拿到的session_key并不是加密用户信息的session_key

这种情况该如何解决呢?

1 回复

我也有以上的疑问,请问楼主现在了解清楚了吗?

我刚发了个帖子:https://developers.weixin.qq.com/community/develop/doc/00004e6eca81d8577098a83f450000

回到顶部