小程序账户系统(openid和unionid)简介

小程序账户系统(openid和unionid)简介

这篇文章开发和产品都可以了解,查看有助于对产品设计和技术设计。

先介绍一下openid和unionid

openid,小程序针对不同的用户在不同的小程序下都有唯一的一个openId。

unionid,微信下有好多产品,最常见的是公众号和小程序,在申请公众号和小程序的时候需要绑定的主体(也就是公司信息,绑定公司),如果统一主体(公司)下有好多小程序和公众号,那么我们就可以在微信开放平台上,绑定同一主体,这样我们就可以通过微信提供的unionid,锁定同一个用户,这样就 打通所有的小程序和公众号的账号系统。

微信开放平台:微信开放平台

官方相关文档:开放接口 · 小程序

怎样获取openid和unionid?

  1. 小程序获取openid 和unionid

获取openid,首先我们要调用小程序API---wx.login(),调用接口获取登录凭证(code)

App({
  onLaunch: function() {
    wx.login({
      success: function(res) {
        if (res.code) {
          //发起网络请求
          // code: 就是登录凭证(code)
        }
      }
    });
  }
})

前端拿到code之后,把code发送给自己的后台同学,后台然后调用,微信提供的接口,来换取 session_key 和 openid。

下面是微信提供的接口:

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

在调用这个接口的时候需要传入相应的参数 appid / secret / js_code / grant_type

在微信公众平台的小程序管理后台页面,可以找到我们小程序对应的appid和secret。js_code就是前端同学获取的code。grant_type这个不用改动。

请求的返回值:

openid	        用户唯一标识
session_key	会话密钥
unionid	        用户在开放平台的唯一标识符。本字段在满足一定条件的情况下才返回。

获取unionid需要满足的条件。

  1. 微信开放平台帐号已完成开发者资质认证。
  2. 微信开放平台绑定小程序。

配置相关流程,官方文档已经很清晰,文档地址:UnionID机制说明 · 小程序

编辑于 2018-02-26