- openid: 微信公众平台对用户的唯一标识
- unionid: 同一个微信开放平台下的用户唯一标识
- session_key: 会话密钥
openid
- 可理解成1个微信用户打开1个微信公众号大门的唯一的1把钥匙
- 同一组织(企业)注册的不同类型公众平台,被看作是多个不同的账号
- 所以,当小明同学同时注册了统一企业的公众号和小程序时,那么他将拥有两把钥匙(openid)
unionid
- 如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。
- 开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户授权。
session_key
- 微信官方服务器会通过session记录用户的登录态,如果用户长时间不登录的话,相应的session会被清理掉。用户登录的时候,微信小程序通过方法wx.login获取到code(5分钟内有效)并发送给服务器端;服务器端利用appId、appSecret和code调用相对应的接口发送请求到微信官方服务器进行校验;如果校验成功,则微信官方服务器会通过session记录用户的登录态,并返回给服务器端session_key