主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
如何获取我的小程序的UnionID?
问题背景:我创建了一个微信小程序,一切都是。美好的。 然而,当试用版最终发布时,很多用户发现无法绑定用户,并且后台返回了错误的参数。 经过多方排查,发现微信检索的代码请求返回的数据中不包含UnionId。 即接口返回的参数中不包含UnionId参数。
1.UnionID机制解释
即微信对于不同应用中的不同用户有唯一的openId,但很难判断用户是否相同。想要的话,就需要通过UnionID来区分用户。 专有后端通常有自己的用户表,每个用户都有不同的用户 ID。 即同一用户在同一微信开放平台内同一主体的应用对应相同的userid、unionid、不同的openid。 因此,当用户登录时,我们只依靠微信返回的UnionID来判断是否是同一个用户,并与user表关联起来检索对应的user_id。
注:下面这句话的解释:如果用户关注公众号或者登录了应用或公众号,当用户打开小程序时,开发者可以获取到wx.直接通过UnionID登录。 也就是说,如果用户没有关注公众号或者没有登录应用,则无法通过wx.login获取用户的UnionID,只能通过wx.getUserInfo获取UnionId。 系统中不存在UnionId的小程序用户,确认为所有未关注公众号或应用内未使用微信认证的用户。
2. 问题背景
一般情况下(即用户在登录小程序之前必须关注公众号、登录公众号或使用微信登录应用程序) )。 用户只需两步即可成功登录您的网站: (1)获取wx.login中的代码。 (2)通过代码请求后台,后台调用微信API。可以用openid、session_key等信息换取Unionid。
其他情况(即您未关注公众号或登录小程序前未登录公众号、未使用微信登录)(如果您通过wx.login登录应用),通过wx.login获取的code无法换取unionid、openid等信息
3.必须根据小程序的UnionId获取。关于wx.getUserInfo的UnionId。对于产品来说,wx.getUserInfo需要用户授权,需要考虑流程。
一旦数据解密,请参见官方文档。通过wx.getUserInfo检索。
:获取用户的加密数据encryptedData和加密初始向量iv。通过wx.getUserInfo使用登录状态运行算法,并将encryptdata、iv、code传递给后端。后端对接收到的加密数据、iv、code和之前的session_key进行解密,得到用户的openid、unionid等数据解密算法
相关推荐:小程序教程
评论前必须登录!
注册