多企业关联微信小程序的登录处理
单企业登录流程#
- 小程序端调用 wx.qy.login 获取微信返回的
code
- 小程序端调用后台登录接口,传入 code
- 后台根据企业
corpid
和secret
获取access_token
, 并缓存下来,根据expires_in
过期 - 后台根据前端传入的
code
和access_token
调用 code2Session - 拿到微信返回的 userid 后进行自己登录的处理
多企业登录流程#
错误处理方式#
拿相同的 code
循环 corpid
调用 code2Session
, 哪个能获取到就中止循环。
实际效果#
用户企业不匹配的情况下这种处理方式会返回一个加密的 userid,导致循环第一次就退出了。
解决方案#
- 拿
code
和任意一个corpid
调用code2Session
,判断返回的corpid
是否与入参中的corpid
相同,相同则登录成功,不同则返给小程序端,重新调用 wx.qy.login 获取 code - 拿重新登录获取的
code
和第一次调用code2Session
返回的corpid
调用code2Session
代码片段#
微信官方文档#
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: