微信网页授权 能力是为了优化用户在微信内登录网站应用的体验而设计的。为进一步规范能力使用,保障用户合法权益,平台将对能力进行调整。
当开发者在网页中在不规范使用发起 snsapi_userinfo 网页授权时,微信将默认打开网页快照页模式进行基础浏览。能力调整将于 2022 年 7 月 12 日 24 时生效。
网页快照页模式介绍
快照页将会默认对用户屏蔽网页授权弹窗,用户在快照页中仅可进行滑动浏览操作,其他交互将被限制,并提示用户 “该网页需获取个人信息才可使用完整服务,当前仅可浏览部分内容”。用户如需要使用完整网页服务,可轻触右下角 “使用完整服务” 按钮触发授权弹窗,用户确认后进入原网页。
- 开发者在快照页内所获取的头像、昵称、openId、unionId 均为虚拟账号数据;
- 快照页与正常页面不共用缓存,快照页的缓存会在用户离开快照页时被清理;
- 快照页内也无法使用微信其它 JS-SDK 的能力。
微信网页授权规范
- 授权流程需引导清晰、准确:在申请获取用户信息的弹窗出现前,应该清晰、准确地告知用户获取信息的范围及获取信息的目的;
- 必要场景申请:在必须获取用户信息时才申请,而不是用户尚未了解服务前就强制弹窗。如使用医院挂号时才需要获取用户信息;
- 不强制登录:提供游客模式,供用户了解网页提供的基础服务,不强制用户允许网页获取用户信息后才能使用网页服务。
常见的微信网页授权不规范使用案例
- 强制登录:在用户打开网页时立即要求用户授权,用户拒绝后无法使用网页提供的服务;
- 违规收集个人信息:未在网页提前告知使用个人信息的目的、方式和范围;
- 非必要收集:非必要获取用户信息的网页,如文章、视频等,要求用户在浏览内容前登录;
- 差别对待微信用户:同样的网页在浏览器内可以无需登录直接访问,在微信内却要求用户先登录才可访问。
微信团队
2022年5月9日
说句实话,我不是开发者,但是我们因为调整之后,微信支付出现太多无法支付的问题,用户都投诉到12315去了。
我根据官方文档改了网页授权,改成了静默授权,为什么还提示该网页需获取个人信息才可使用完整服务,当前仅可浏览部分内容”。用户如需要使用完整网页服务,可轻触右下角 “使用完整服务” 按钮触发授权弹窗 下面的参数我要怎么调整,才能不要让用户在次授权,总是提示授权,在用户使用上不友好 StringBuffer sb = new StringBuffer(); sb.append(ConfigUtil.getValue("WX_GET_CODE_URL")); //请求授权地址 sb.append("&appid="+wxMchntConfig.getWxAppId()); //开发者ID sb.append("&redirect_uri="+ URLEncoder.encode(wxMchntConfig.getRsrvStr1() ,"UTF-8")+"?outNo=" +serialNumber);//请求返回地址 sb.append("&response_type=code"); //返回参数类型 sb.append("&scope=snsapi_base"); //定义获取用户类型 sb.append("&state="+parkId); //返回验证 sb.append("&connect_redirect=1"); //只防止多次回调 sb.append("&forcePopup=false"); //必填 sb.append("&forceSnapShot=false"); sb.append("#wechat_redirect");
微信能不能给个解决方案??现在时不时的出现“该网页需获取个人信息才可使用完整服务,当前仅可浏览部分内容”,客户都发飙了
日啊,脑抽了吧,id重复用,用户数据乱串,资金、隐私导致损失,微信你能赔吗?
这个 目前说 时 当进入授权页 302 跳转 过去 没关注的 用户 会 进入 快照页? 进入快照页的 概率怎么来 验证 , 如果 用户关注 关注过 公众号 还会进入快照模式吗?
另外 如果 在授权 之前 在页面上 新加 一个 按钮,用户 点击 按钮 走 授权? 这种情况 是不是 不会进入快照页?
目前 我们怎么 能验证 这个问题,一定在授权上 能复现的? 目前参数 只能 写死,如何根据 情况 来 验证呢?
关键是就没解决方案吗
请求在 snsapi_base 返回 unionId ,开发者使用 snsapi_userinfo 权限通常是需要获取 unionId 而不是获取昵称头像,如果需要回收 snsapi_userinfo 权限,请求在 snsapi_base 返回 unionId
"openId、unionId 均为虚拟账号数据"
------------------------------------------------------------------------------------------------
虚拟账号数据 和 真实用户数据 会保证不一样吗?