H5和小程序获取用户信息的机制,你知道吗?

2023-12-13
来源:网络整理

我们在开发微信的时候,有时需要确认用户的身份来完成登录注册、消息推送、用户关联、快速登录等功能。但是小程序或者H5应该什么时候获取或者如何设计更流畅呢?手术? ,让不懂技术的产品经理头疼。 今天简单讲一下H5和小程序获取用户信息的机制。

什么是基本用户信息?

这张图的意思是,同一个微信用户在不同的应用中拥有不同的唯一ID。 但当两个应用绑定同一个微信开发者平台账号时,就可以确定这两个关联。 相同,因此开发人员知道两个应用程序中的两个用户实际上是同一个用户。 需要注意的是,如果两个应用没有绑定同一个开发者账号,则意味着无法获取。

用户的基本信息包括:、、昵称、头像、城市等多项信息。 我们不需要澄清太多。 就可以查看界面了。 这里需要注意的是,包含了用户的基本信息,但是如果您没有申请开发者平台账号并且绑定了应用的话,则无法返回用户的基本信息。

H5如何获取用户并清除H5:

这里所说的H5指的是Web应用,指的是用户在微信客户端访问Web应用时,可以通过授权机制获取用户信息,进而实现业务逻辑。

网页授权回调域名说明:

(翻译一下,就是微信公众号中H5网页的配置,这个不难,也不是重点,复制微信开发者文档里的内容看一下就可以了)

(1)微信公众号请求用户网页授权前,开发者需要先到公众平台官网,在“开发-接口权限-Web服务-Web帐号-Web授权”的配置选项中修改授权回调获取用户基本信息”域名。 请注意,这里填写的是域名(是一个字符串),而不是URL,所以请不要添加协议头;

(2)授权回调域名配置规范为完整域名。 例如,需要网页授权的域名为:配置后,该域名下的所有页面都可以通过.0进行身份验证。 但,无法进行.0认证;

帐号绑定开放微信平台怎么解除_绑定的微信开放平台帐号_帐号绑定开放微信平台怎么解绑

(3)若公众号登录授权交给第三方开发者管理,则无需进行任何设置。 第三方可以代表公众号实施网页授权。

参考文档链接:

两种形式的Web授权

官方文档:

方法一-静默授权获取

认为发起的网页授权是为了获取进入页面的用户,静默授权并自动跳转到回调页面。 用户感知到的是直接进入回调页面(往往是业务页面)

方式二-非静默授权获取

认为发起的网页授权是为了获取用户的基本信息。 但这种授权需要用户手动同意,而且用户既然同意了,就无需关注,授权后即可获取用户的基本信息。 (译:也就是说用户可以通过授权框确认授权,获取用户的基本信息。这里的基本信息都包含了,但前提是应用已经绑定了微信开放平台的开发者账号)

这两种方法就不说了。 微信官方文档添加了一个奇怪的限制:“用户管理界面中的‘获取用户基本信息接口’是用户与公众号互动或关注公众号后的事件推送,只有这样才能根据公众号获取用户的基本信息。”这个接口,包括其他微信接口,都需要用户(也就是)关注公众号,才能调用成功。

这是因为聪明的开发者想到了一种绕过用户授权来获取用户基本信息的方法,所以在后续的迭代中,微信屏蔽了这个接口。 有什么办法就是默默的获取用户的信息,然后用它在“用户管理界面”中查看用户信息,如图:为了避免这种情况,微信给出了限制,使用 user 界面时在管理界面获取用户基本信息,必须先关注公众号,否则返回的信息只是,也就是说,只能换回来,也就是说什么都没有~~~

看一下用户管理类接口的内容:

帐号绑定开放微信平台怎么解除_帐号绑定开放微信平台怎么解绑_绑定的微信开放平台帐号

  1. {

  2. "user_info_list": [

  3. {

  4. "subscribe": 1,

  5. "openid": "otvxTs4dckWG7imySrJd6jSi0CWE",

  6. "nickname": "iWithery",

  7. "sex": 1,

  8. "language": "zh_CN",

  9. "city": "揭阳",

  10. "province": "广东",

  11. "country": "中国",


  12. "headimgurl": "http://thirdwx.qlogo.cn/mmopen/xbIQx1GRqdvyqkMMhEaGOX802l1CyqMJNgUzKP8MeAeHFicRDSnZH7FY4XB7p8XHXIf6uJA2SCunTPicGKezDC4saKISzRj3nz/0",


  13. "subscribe_time": 1434093047,

  14. "unionid": "oR5GjjgEhCMJFyzaVZdrxZ2zRRF4",

  15. "remark": "",


  16. "groupid": 0,

  17. "tagid_list":[128,2],

  18. "subscribe_scene": "ADD_SCENE_QR_CODE",

  19. "qr_scene": 98765,

  20. "qr_scene_str": ""


  21. },

  22. {

  23. "subscribe": 0,

  24. "openid": "otvxTs_JZ6SEiP0imdhpi50fuSZg"

  25. }

  26. ]}

代表公众号是否被关注,1表示关注,0表示不关注,0的情况下只返回,1的情况下返回很多信息。

总之

Web应用可以静默获取,并可以授权其获取用户的基本信息(含)。

微信小程序如何获取用户和小程序的登录时序图?

整个过程中,用户的信息实际上是默默获取的,这与早期的小程序需要通过用户授权才能获取不同。

小程序获取

方法一-直接调用接口(需要授权):

调用接口wx. 从解密的数据中获取它。 需要注意的是,该接口需要用户授权。 用户拒绝授权后,开发者应妥善处理。

方法二-已有同主题公众号且您已关注该公众号(无需授权):

帐号绑定开放微信平台怎么解绑_绑定的微信开放平台帐号_帐号绑定开放微信平台怎么解除

如果开发者账号下有相同主题的公众号,且用户已关注该公众号。 开发者可以直接通过wx. + 无需用户再次授权。

方式三-已有同主题公众号或移动应用且该公众号或移动应用已授权登录(无需授权):

若开发者账号下存在同一主题的公众号或移动应用,且用户已获得授权登录该公众号或移动应用。 开发者也可以直接通过wx. + 无需用户再次授权。

方式四-五分钟内完成小程序支付(无需授权):

用户在小程序中完成支付后(目前不支持小游戏),开发者可以直接通过接口获取用户的支付情况,无需用户授权。 注:该接口仅在用户完成支付后5分钟内有效。 开发商应妥善处理。

其他与云功能相关的方式:

1、小程序调用云函数时,如果开发者账号下有相同主题的公众号,且用户已关注该公众号,则可以通过 获取。 在云功能中。 2、小程序调用云功能时,如果开发者账号下有同主题的公众号或移动应用,且用户已被授权登录该公众号或移动应用,也可以获得通过 。 在云功能中。

总之

小程序可以静默获取,但需要用户授权才能获取。

总结

我们可以静默获取h5和小程序,通过授权获取用户信息。 其中,小程序的用户信息需要考虑加解密机制。 这里就不说了,所以产品经理需要注意什么时候去获取用户信息,什么时候去使用,这样才能打造更流畅的用户体验。

分享