背景说明
    最近需要做一个招聘类的小程序,其中支持登录用户可以进行求职和招聘角色切换.第一个面临的问题是基于一个小程序还是两个小程序的问题,由于求职端和招聘端用户登录之后底部显示的页签模块是不一样的,在一个小程序中是不容易进行动态切换的;另外基于小程序大小的考虑,后期如何内容过多,一个小程序需要进行多次分包.所以考虑到上面两点决定注册两个小程序,一个用来作为求职端,一个用来作为招聘端,根据角色进行动态切换进入到不同的小程序,对于用户来讲,基本上是无感知的;注册两个小程序带来的问题就是如何保证用户在两个小程序之间切换保证用户信息唯一的问题,也是本文要讨论的核心内容.
处理过程
    产品经理说的很清楚,不能使用手机号作为唯一标识,因为一个用户可能会有多个手机号,并且不支持实名认证,所以基于手机号作为唯一标识逻辑就不成立;
    如果是一个小程序,还好处理,openId可以作为用户的唯一标识(每个小程序对应一个appid,对于进入同一个小程序的所有用户来讲,每个用户的openID是唯一的);但是两个小程序出现的问题是,两个小程序的appid不同,用户在每个小程序下面的openId都不一样,所以对于两个小程序使用openId作为用户的唯一标识也不成立.
    仔细翻看小程序开发文档发现:如果开发者拥有多个移动应用、网站应用、和公众帐号(即公众号和小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的 UnionID 是唯一的. 即同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。也就是说只要是微信旗下的产品,不论是小程序还是公众号还是其他的,用户的unionId是唯一的.
    确定好实现方案之后就开始用之前两个小程序号进行测试获取用户的unionId是否唯一(两个新的小程序还没有注册下来所以只能用之前的进行测试).
    测试过程中出现问题:一个小程序是已经上线,发布过正式版本;一个是只是注册过,没有发布过正式版本,


发现前者能获取到unionid,后者就获取不到,
当时前端尝试了很多方案都是获取不到,怀疑是这个小程序没有上线的原因;这里说一下对于对接第三方接口,一定要好好看官方提供的接口文档,一定要好好看!!!
重新看了一下关于响应参数:unionid的说明:用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台帐号下会返回,详见 UnionID 机制说明官方文档 。里面说的很清楚,当前小程序需要绑定微信开放平台啊,这个链接中说的很清楚,三种获取unionId的方式以及开放平台中添加小程序的步骤:

添加之后发现可以,问题解决!
     注意获取unionId无需用户授权就可以获取.也就是说用户刚进入小程序的时候不进行授权操作就能获取用户的unionId和openID.
     以上是处理多个小程序确定用户唯一标识的处理过程以及实现方案,当然也可以拓展到微信旗下的各个产品,其他的暂时没有尝试,应该都是相同的,如果感觉有帮助欢迎关注或是评论留言点赞!
参考文档:
     UnionID 机制说明官方文档
     auth.code2Session服务端调用接口官方文档

如何确定用户在多个小程序中唯一标识的处理方案相关推荐

  1. 微信小程序中如何发送客服消息给用户

    微信小程序是一种快速开发和发布应用程序的平台,可以为用户提供各种服务和功能.而与用户进行沟通和交互是实现这些目标的重要步骤之一.因此,在本文中,我们将介绍如何在微信小程序中使用客服消息来与用户进行联系 ...

  2. 《十四》微信小程序中的常用 API之登录、获取用户信息、支付、提现、跳转小程序、网络请求、弹框、导航、数据缓存、图片、查看文档、音频、拨打电话、剪贴板、滚动、WXML

    微信小程序提供了 wx 这个全局变量,通过这个全局变量可以调用微信小程序的 API. 登录: wx.login():获取登录凭证 code.通过登录凭证 code 进而换取用户登录态信息,包括用户在当 ...

  3. 微信小程序中使用JSAPI支付

    微信小程序中使用JSAPI支付 在微信小程序中使用微信支付api[wx.requestPayment]需要传递以下字段 如何获取支付所需要的值 在微信小程序中使用微信支付api[wx.requestP ...

  4. uniapp同步获取用户信息_微信小程序云开发教程微信小程序的API入门获取用户身份信息系列API...

    同学们大家好,我是小伊同学,上一节我们介绍了一些常用API,今天我们接着来学习一组API,那就是获取用户身份信息的API. 在微信小程序中,我们往往需要获取用户的身份信息,比如昵称.头像.性别.地区等 ...

  5. 小程序中神秘的用户数据

    前面 上一篇文章手把手教会你小程序登录鉴权介绍了小程序如何进行登录鉴权,那么一般小程序的用户标识可以使用上文所述微信提供的jscode2session接口来换取,小程序还提供了一个getUserInf ...

  6. StatusCodeError: 400 - “{\“code\“:40000,\“error\“:\“错误 Error: 登录用户不是该小程序的开发者

    StatusCodeError: 400 - "{\"code\":40000,\"error\":\"错误 Error: 登录用户不是该小 ...

  7. 微信小程序中用户登录和登录态维护

    微信小程序和以前的web项目不同,他是前后端分离的应用,之前我们的传统登录有web服务器提供Session维护, 后端在返回结果给前端web项目时,带上cookie,且以cookie值为key存储用户 ...

  8. 小程序中引导用户关注公众号

    众所周知,小程序现在越来越普遍,应市场需求,越来越多的开发者在学习小程序的开发,因为小程序刚起步,所以有很多问题还不完善,微信开放平台也在日渐完善,小程序文档也在不断优化,现在小程序中可以引导用户关注 ...

  9. 微信小程序中判断用户是否已关注公众号的两种实现

    背景: 最近的一个小程序项目中有这么一个需求:进入我的主页后, 如果用户没有关注过我们的公众号, 则展示一个引导关注公众号组件, 点击后跳转到一篇公众号文章, 指引用户进行关注,用户完成关注隐藏该组件 ...

最新文章

  1. vmware虚拟机移植带来的问题
  2. excel在线_怎么能在线免费将PDF转Excel?
  3. 【STM32】新建基于STM32F40x 固件库的MDK5 工程
  4. git stash简介
  5. 在python中sqrt是什么意思_python中sqrt是什么意思
  6. Oracle添加主键和唯一约束最佳实践
  7. Python 实现信息自动配对爬虫排版程序
  8. Android H5交互实现拍照显示
  9. Servlet的Mapping
  10. MySQL备份与恢复
  11. python无限循环怎么停止,如何在Python中安全地停止无限循环?
  12. Structure-Revealing Low-Light Image Enhancement Via Robust Retinex Model TIP 2018阅读记录
  13. GCC编译器高效利用cache的原理和参数
  14. worldpress自定义页面
  15. java email bean_JavaWeb学习笔记-第四章JavaBean技术
  16. 小猿圈分享利用python网络爬虫获取网易云歌词
  17. allegro16.3生成gerber/光绘文件
  18. 数学分析:集合的基本运算
  19. Google研究总监Peter Norvig:人工智能的另一面
  20. JS 利用鼠标切换图片(无定时器)

热门文章

  1. 群辉docker阿里云ipv6域名解析
  2. 最重要的财富——信用:守信重于生命
  3. 期末大作业纯前端技术实现个人简历模板
  4. Python抓取开源中国资讯(使用BeautifulSoup库)
  5. 自动投票器的原理及设计思路 http://blog.csdn.net/lkfstar/archive/2008/01/12/2039070.aspx
  6. 上半年营收256亿,转型的陆金所能否在纽交所站稳脚跟?
  7. php判断五子棋是否取胜,五子棋取胜的基本技巧
  8. 解决eclipse的 Invalid project description. overlaps the location of another project: 问题
  9. 你的房间总是一团乱吗?
  10. Matlab/SimulinkAutosar应用开发