微信网页授权 能力是为了优化用户在微信内登录网站应用的体验而设计的。为进一步规范能力使用,保障用户合法权益,平台将对能力进行调整。
当开发者在网页中在不规范使用发起 snsapi_userinfo 网页授权时,微信将默认打开网页快照页模式进行基础浏览。能力调整将于 2022 年 7 月 12 日 24 时生效。
网页快照页模式介绍
快照页将会默认对用户屏蔽网页授权弹窗,用户在快照页中仅可进行滑动浏览操作,其他交互将被限制,并提示用户 “该网页需获取个人信息才可使用完整服务,当前仅可浏览部分内容”。用户如需要使用完整网页服务,可轻触右下角 “使用完整服务” 按钮触发授权弹窗,用户确认后进入原网页。
- 开发者在快照页内所获取的头像、昵称、openId、unionId 均为虚拟账号数据;
- 快照页与正常页面不共用缓存,快照页的缓存会在用户离开快照页时被清理;
- 快照页内也无法使用微信其它 JS-SDK 的能力。
微信网页授权规范
- 授权流程需引导清晰、准确:在申请获取用户信息的弹窗出现前,应该清晰、准确地告知用户获取信息的范围及获取信息的目的;
- 必要场景申请:在必须获取用户信息时才申请,而不是用户尚未了解服务前就强制弹窗。如使用医院挂号时才需要获取用户信息;
- 不强制登录:提供游客模式,供用户了解网页提供的基础服务,不强制用户允许网页获取用户信息后才能使用网页服务。
常见的微信网页授权不规范使用案例
- 强制登录:在用户打开网页时立即要求用户授权,用户拒绝后无法使用网页提供的服务;
- 违规收集个人信息:未在网页提前告知使用个人信息的目的、方式和范围;
- 非必要收集:非必要获取用户信息的网页,如文章、视频等,要求用户在浏览内容前登录;
- 差别对待微信用户:同样的网页在浏览器内可以无需登录直接访问,在微信内却要求用户先登录才可访问。
微信团队
2022年5月9日
开发者使用 snsapi_userinfo 权限通常是需要获取 unionId 而不是获取昵称头像,如果需要回收 snsapi_userinfo 权限,是否可以在 snsapi_base 返回 unionId ?
有严重BUG,用户先关注后,再进入网页就可已使用全部功能,但是 是一个虚假的账号,支付时提示下单账号与支付账号不一致,无法完成,可是再也无法触发到获取微信信息的弹窗。损失了很多单。望重视
毫无必要!以前本来就有弹窗询问用户,对用户来说已经有知情权了。 结果,你们现在这样一做,体验太差了。
你的提示文字:“该网页需获取个人信息才可使用完整服务”, 个人信息? 我们只是获得微信头像和微信名字,用户其实并不在意的(如果在意拒绝授权就好了)。结果你说我们要获取用户 “个人信息”,用户还以为要他们其他更多信息呢,其实根本不存在。
你们还不如干脆彻底关闭授权算了! 你们有时间不如把跳转H5的优化做的好一点!
这种极其愚蠢的事情,提供虚拟数据,那所有snsapi_userinfo产品都要加入鉴别当前数据是否虚拟数据的逻辑。
既然snsapi_base不需要用户许可就可以拉到openId,为什么快照界面还要给虚拟的数据?openId、unionId都应该给真的,头像和昵称给虚拟的才是相对明智的做法。
这种给生态内的公司带来极大的损失
7月14日了
从日志整体看来,是在https://api.weixin.qq.com/sns/oauth2/access_token该接口的返回值中新增了is_snapshotuser,但是获取到的openid 和unionid好像不是虚拟的,和用户之前的openid和unionid还是一致的。头像变成了灰色的,昵称变成了微信用户。各位大佬分别都是什么情况。
能不能爆粗口,出了问题用户找过来,我去看了日志看到增加了一个is_snapshotuser;第一反应是接口改了,马上登录公众号平台找公告,发现毛线没有,然后各种找才找到这个通知,发个通知能累死你们么?垃圾腾讯
快照页中为什么拿到的是其他人的openId、unionId,而且还不能区分这两id是不是当前用户的真实id,
在快照页中返回这两id的规则是具体是怎样的,能说明一下吗?
没有十年脑血栓的产品想不出来这个快照的功能哈
这几天业务虚拟用户总是拿到重复的openid,导致用户数据全都串掉了,能不能出来解释一下为什么openid会重复?到底怎么重复的?
【开发者在快照页内所获取的头像、昵称、openId、unionId 均为虚拟账号数据;】
第一次回调是虚拟数据,第二次回调真实数据。导致用户信息都不对,业务直接G了,快点恢复回去