微信网页授权 能力是为了优化用户在微信内登录网站应用的体验而设计的。为进一步规范能力使用,保障用户合法权益,平台将对能力进行调整。
当开发者在网页中在不规范使用发起 snsapi_userinfo 网页授权时,微信将默认打开网页快照页模式进行基础浏览。能力调整将于 2022 年 7 月 12 日 24 时生效。
网页快照页模式介绍
快照页将会默认对用户屏蔽网页授权弹窗,用户在快照页中仅可进行滑动浏览操作,其他交互将被限制,并提示用户 “该网页需获取个人信息才可使用完整服务,当前仅可浏览部分内容”。用户如需要使用完整网页服务,可轻触右下角 “使用完整服务” 按钮触发授权弹窗,用户确认后进入原网页。
- 开发者在快照页内所获取的头像、昵称、openId、unionId 均为虚拟账号数据;
- 快照页与正常页面不共用缓存,快照页的缓存会在用户离开快照页时被清理;
- 快照页内也无法使用微信其它 JS-SDK 的能力。
微信网页授权规范
- 授权流程需引导清晰、准确:在申请获取用户信息的弹窗出现前,应该清晰、准确地告知用户获取信息的范围及获取信息的目的;
- 必要场景申请:在必须获取用户信息时才申请,而不是用户尚未了解服务前就强制弹窗。如使用医院挂号时才需要获取用户信息;
- 不强制登录:提供游客模式,供用户了解网页提供的基础服务,不强制用户允许网页获取用户信息后才能使用网页服务。
常见的微信网页授权不规范使用案例
- 强制登录:在用户打开网页时立即要求用户授权,用户拒绝后无法使用网页提供的服务;
- 违规收集个人信息:未在网页提前告知使用个人信息的目的、方式和范围;
- 非必要收集:非必要获取用户信息的网页,如文章、视频等,要求用户在浏览内容前登录;
- 差别对待微信用户:同样的网页在浏览器内可以无需登录直接访问,在微信内却要求用户先登录才可访问。
微信团队
2022年5月9日
开发者使用 snsapi_userinfo 权限通常是需要获取 unionId 而不是获取昵称头像,如果需要回收 snsapi_userinfo 权限,是否可以在 snsapi_base 返回 unionId ?
当用户没有关注公众号的时候无法获取 unionId 。
卑微的我,趴在地上乞求你,给我个 unionid 吧。放在 base 授权里面也行。
求求求求你了。
才搞完小程序又搞H5
主要是通过 snsapi_base 获取不到用户的 unionid 呀!
接连发布重要更新调整,总有一种马上要放假的感觉。
但从这篇正经但又简陋的公告,我想灵魂敲问这项更改的产品经理或负责人:
1、你们所说的“在网页中在不规范使用发起 snsapi_userinfo 网页授权时”,请最好说出判断实行(比如说是人工判断、投诉判断、所谓的智能判断)。小程序也至少还有个审核环节,当网页的审核,参照过往微信对空白网页封禁,甚至对自家公众号的网页也封禁这些谜之操作,真不知道你们判断实行。别到时候出现了情况咨询你们,你们就只是冷冰冰地扔整个规则公告出来,但开发者们根本找不到对应违反的规范条例,甚至无法沟通解释;
2、网页快照页模式即然会使用虚拟账号,并且是官方主动引导用户使用,对用户是个很好的感知体验,但未看到可以让开发者感知的途径。开发者如何知道请求过来的是“网页快照页模式的虚拟账号”?这点无法区分和感知,业务上只会翻倍徒增无效的用户;
3、所谓的“强制登录”规范条例,你们是怎样界定?一些能分享出去的、扫码进入的、菜单栏点击进入,收藏进入的页面,这些页面不能做强制登陆还能理解,但微信是否真的能确保只检测这类页面(再次提示第1点)?比如一些下单页面、个人中心数据页面、商家后台数据页面,这些都可以做到分享、扫码、菜单栏点击、收藏点击进入(虽然一般不这么做),但根据你们这个公告,开发者是不是需要对所有页面都要做匹配“网页快照页模式”?
4、微信是一个生态,平台、开发者、用户三者组成,当平台只过分地考虑用户体验,忽略开发者,生态平衡就会混乱!
现在有地方可以试试这种效果吗,不知道什么场景会触发,以及触发之后页面拿到虚拟数据内容是什么样的,别搞的我们页面报错啊。