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