微信小程序_登录获取unionid

首先公司开发了小程序, 公众号网页和app等, 之前都是用的openid来区分用户, 但openid只能标识用户在当前小程序或公众号里唯一, 我们希望用户可以在公司各个产品(比如公众号, 小程序, app里的微信登录)之间, 可以保持用户的唯一性, 还好微信给出了unionid.

下面分两步介绍一下 微信小程序 获取unionid的过程.


1. 首先 在微信公众平台注册小程序 , 然后在小程序上模拟登录流程.

简单登录流程

注 : 这里只是简单登录流程, 实际中需要维护登录态, wx.checkSession() 可以检查此时的登录态是否过期. 若过期, 要再次调用 wx.login() , 否则调用 wx.getUserInfo() 会拿不到用户数据.

注 : 此时后台服务器接收到你发的 code, 再用appid和appSecret等请求微信可以拿到openid和session_key encrypted_data, iv 等数据, 通过appId, appSecret解密可以获得openid和其他信息. (此时解出来并没有unionid, 接下来看第二步)


2. 接下来到 微信开发平台去 绑定开发账号.

一开始我也是对开放平台, 公众平台什么的有点懵, 后来看到开发平台的管理中心才明白,  这些移动应用, 网站应用 或者公众号/小程序 能绑定同一个微信开发平台账号下, 则同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。

开发平台设置

大抵就是上图这样设置吧 , 立刻生效(有时也会过几分钟吧😂) ,然后后台就能解密出unionid了.

注 : 如果之前没有这么多小程序,公众号开发的话, 可能一直用的openid作为用户的唯一标识(就像我这样😂), 不过也不用麻烦替换之前的openid, 可以用unionid直接建立自己的用户系统, 其实就是一个unionid下多个openid或手机号(当然要提前绑定了), 这样用户每次登录, 后台多一次查询就ok了

当然了, 微信开发平台你要先认证才行....

认证了就是这样的
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景小程序一个比较重要的能力就是获取用户信息,也就是使用 wx.getUserInfo接口。我们发现几乎所有的小程...
    未央大佬阅读 15,549评论 0 23
  • 给提问的开发者的建议:提问之前先查询 文档、通过社区右上角搜索搜索已经存在的问题。 写一个简明扼要的标题,并且...
    极乐叔阅读 13,873评论 0 3
  • 注意:代码自己动手写,不要复制! GitHub 一、接入微信第三方登录准备工作。 移动应用微信登录是基于OAuth...
    大冲哥阅读 15,183评论 0 7
  • 2017.10.3 星期二 小雨 今天,我们一行来到了日照的九仙山。这里是国家4A级的风景区,我们在此领略...
    暖与希望阅读 140评论 0 0
  • 那段关于波士顿凯尔特人的讨论是我看电影的主要原因。 看完我先找了诺顿大叔的资料,电影的主演,全名爱德华诺顿Edwa...
    阿泰想养一只熊阅读 575评论 0 0