小程序上登录请求微信授权返回的信息有点奇怪,只有openid,没有unionid
- 当前 Bug 的表现:
小程序使用微信账号登录时,请求微信授权返回的信息有点奇怪,只有openid,没有unionid;
我们现在注册登录全是用unionid的,就报错了;
非常的诡异。
小程序上已经是调用接口 wx.getUserInfo来获取UnionID,但是部分用户微信登录时候,却获取不到?
如下面异常信息没有unionid:
object(stdClass)#25 (2) {
[“session_key”]=>
string(24) “9J6u+ywvbQQTggJfTlPi8g==”
[“openid”]=>
string(28) “osgEB5e2_RrNU4N4f5e8xcTREN8s”
}
- 预期表现
object(stdClass)#24 (3) {
[“session_key”]=>
string(24) “EoRkGVV54XoB5+s5Kguo0A==”
[“openid”]=>
string(28) “osgEB5SEojaE9yGB8bE83wOmBObQ”
[“unionid”]=>
string(28) “o3BP7w4kci7rYCN5qAo7SXUVQfIc”
}
因为目前官网PC端、移动APP和小程序都是绑定在同一个微信开放平台账号下的,使用微信登录,考虑小程序登录账号统一性使用unionid来登录,但是出现如上异常,导致部分用户的微信账号无法登录小程序。
以下是官方文档说明:
小程序绑定微信开放平台帐号后,可与帐号下的其他移动应用、网站应用及公众号打通,通过UnionID机制满足在多个应用和公众号之间统一用户帐号的需求。
UnionID机制说明:
如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过UnionID来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。用户的UnionID可通过调用“获取用户信息”接口获取。
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html
有劳帮忙看看,急~
