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

单企业登录流程

  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

    代码片段

小程序端处理

后端处理

微信官方文档

微信官方文档

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!