多企业关联微信小程序的登录处理

单企业登录流程

  1. 小程序端调用wx.qy.login 获取微信返回的code
  2. 小程序端调用后台登录接口,传入code
  3. 后台根据企业corpidsecret获取access_token,并缓存下来,根据expires_in过期
  4. 后台根据前端传入的codeaccess_token调用code2Session
  5. 拿到微信返回的userid后进行自己登录的处理

多企业登录流程

错误处理方式

拿相同的code循环corpid调用code2Session,哪个能获取到就中止循环。

实际效果

用户企业不匹配的情况下这种处理方式会返回一个加密的userid,导致循环第一次就退出了。

解决方案

  1. code和任意一个corpid调用code2Session,判断返回的corpid是否与入参中的corpid相同,相同则登录成功,不同则返给小程序端,重新调用wx.qy.login获取code
  2. 拿重新登录获取的code和第一次调用code2Session返回的corpid调用code2Session

代码片段

多企业关联微信小程序的登录处理_第1张图片

多企业关联微信小程序的登录处理_第2张图片

微信官方文档

多企业关联微信小程序的登录处理_第3张图片

你可能感兴趣的:(小程序)