多企业关联微信小程序的登录处理
单企业登录流程
- 小程序端调用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 协议》,转载必须注明作者和本文链接