小程序微信授权登录服务器异常,微信小程序授权登录流程(强制绑定手机号码)...

本文作为多平台用户登录模块设计的扩展设计,即以手机号作为用户的唯一凭证。

857c55975a183f21aa1e6d6b3efae135.png

(图片摘自 2018.10.30)

小程序与服务器是通过自定义登录态来识别用户身份的,以下简称口令(token)。

由于微信未告知 session_key 的有效期,那么为保证小程序发起业务请求成功,token 须要永久有效,但这会带来安全隐患。

如果设置 token 的有效期(如 7200 秒),那么小程序发起业务请求后,服务器必须把 token 的验证结果告知小程序,若失效则重新登录。

微信授权登录(含绑定手机号码)流程图

a5617bd8cb4aa25e64e4493af12e2396.png

子流程:授权登录

a1732a306338de1effdd6e7db0d3a188.png

子流程:绑定手机号

9eaae9b2e91052cffd3322fd326f2295.png

为保证数据安全,针对每个须要授权登录的业务请求,服务器都都会检验 token 的有效性。如果小程序同时发起多个业务请求,并几乎同时收到 token 过期,那么会同时发起多个重新登录流程,服务器多次 code2Session,重新生成多个 token 返回到小程序,那么小程序最终保存的 token 可能不是服务器上认为的最新的一个 token。这样,如果程序设计为获取到 token 继而重新发起业务请求,可能会进入死循环。解决的方法是在同时发起多个业务请求之前先向服务器验证一次 token 的有效性,再发起多个业务请求时就不会出现都过期的情况了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值