收藏
回答

session_key是小程序自身存在的还是login获取的

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 Bug iOS 1.0.0 1.0.0 1.0.0

如题,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

这种情况该如何解决呢?

最后一次编辑于  04-15  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答