H6.02.2federated login scope disclosure设计研究

需明示将获取哪些信息

别名: 授权范围说明 · OAuth 权限清单 · social login scopes

概念解释

联邦登录的同意发生在提供方的授权页,以及产品自己在跳转前写的那一句。明示将获取哪些信息指人在点「允许」之前,能列出本地会拿到的字段与权限:公开资料、邮箱、好友关系、能否代发内容。范围以实际申请的 scope 为准,不是品牌口号。这条只管披露是否完整、是否与真实请求一致,不评价联邦登录值不值得用,也不管登录成功后设置页怎么展示历史方式。

机制

授权页是一次范围谈判,但文案往往用「继续」盖住谈判内容。人把社交登录理解成「证明我是我」,提供方却可能同时交出通讯录、公开时间线、隐藏邮箱的中继地址。产品侧若在跳转前只写「用微信快速登录」,范围的心理模型停留在身份断言,真正的数据流动要到事后才被发现。过度申请会在提供方页被拒绝或被商店审核打回;申请过窄则登录后还要二次要权限,信任消耗两次。披露失败的典型形态不是完全不说,而是说了「基本信息」这种无法核验的集合名词。

怎么研究

对照三份文本:产品预告、提供方授权页、实际 token 所含声明,看人能不能在授权前复述将共享的项。

自变量:跳转前是否列出字段级清单、清单是否与请求的 scope 逐项对应、是否把「登录所需」与「额外资料」分开。 因变量:授权通过率、授权后对已共享项的回忆准确率、事后撤销与投诉、因范围过宽被商店或提供方拒绝的次数。

实验室里授权页常用测试应用,警告文案与生产不一致。真实研究要在目标提供方的生产授权页上进行,因为微信、Apple、Google 的默认文案和隐藏邮箱行为不同。通过率上升若伴随着「不知道共享了好友列表」,测到的是顺从,不是知情同意。

边界

提供方不允许应用自定义授权文案时,产品只能在跳转前的自有界面披露;那一屏被跳过就等于没披露。企业 IdP 的范围由管理员预授权,终端用户看不到谈判,披露对象变成管理员和安全审查,而不是每次点击。只申请 OpenID 身份断言、不读资料的集成,清单可以短到「用于证明是你」,再写一长串字段反而是夸大。法律法规要求的最小披露不能用「已在隐私政策第十二条」替代界面上的字段列表。

怎么落地

  • 在跳转提供方之前用字段级列表写出将申请的项,并把「登录必需」与「可选资料」分开;可选资料不得设为授权的默认捆绑。
  • 列表与代码里请求的 scope 同源生成,禁止运营文案与工程配置各写一套。
  • 授权回来后,在账号设置里回显「已从该提供方获得」的项,并提供到提供方撤销页的出口。
  • 验证:找未参与项目的人做到授权前停住,让其写下将共享的每一项;对照实际 token 声明,漏项或多项即失败。再抽一次生产请求,确认没有清单外的 scope。

延伸

  • 同组H6.02.1 第三方登录降低输入但引入依赖 · H6.02.3 用户需能查看曾用哪种方式登录
  • 相邻H4.02 用途说明 · H6.08 账号注销 · H4.09 通讯录与相册权限
  • 站内检索OAuth scopes · informed consent · federated identity disclosure

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/H6.02.2