XR-013:将 Microsoft 帐户与发布者帐户关联 *

版本 1.4,2022/11/1

在 Xbox 主机上,使用合作伙伴托管的服务的游戏或要求凭据的帐户必须支持所有 Xbox 用户和产品/服务将该帐户与用户的 Microsoft 帐户相关联。 在 Xbox 主机外部,游戏可以选择允许帐户关联以便支持其游戏体验。

如果在游戏中启用了发布者帐户登录,则以下规则将适用:

发布者帐户登录

  • 适应所有用户:如果游戏功能(单人玩家、多人游戏、跨网络游戏、排行榜)需要发布者帐户登录,则登录和注册必须支持所有用户类型、年龄和提供游戏的区域,以及本地/地区法律允许这些功能的地区(无论年龄分级如何)。
    • 游戏发布者可以为其发布者帐户选择不支持特定区域、年龄等。 如果某个区域、年龄组或其他玩家组无法创建或登录帐户,则游戏不能要求这些用户使用账户登录来使用游戏功能。
    • 如果基于游戏的注册体验(例如年龄或地区)不支持特定帐户设置,则游戏必须通过提供消息来妥善处理,以便在支持该用户的外部站点或移动优化体验上注册。
  • 征求同意并提供帐户信息使用条款:游戏必须请求使用,并获得许可才能使用玩家 Microsoft 帐户中的信息自动填充注册/帐户创建体验。 在发布者帐户创建过程中,必须向用户提供游戏内的所有适用使用条款、隐私和其他政策(或包含指向此类信息的链接的通知)。
  • 披露要求:如果游戏或其他功能需要发布者帐户,则必须在游戏的产品说明和任何实体包装中披露该帐户(包括年龄等任何限制)。 在游戏中,游戏必须定义发布者帐户的原因和用法。

发布者帐户/Microsoft 帐户链接

  • 使用 Xbox 安全令牌服务 (XSTS) 进行身份验证:将用户的发布者帐户链接到用户的 Microsoft 帐户时,必须使用 XSTS 令牌提供身份验证的身份信息。 有关 XSTS 令牌身份验证的详细信息,请参阅游戏服务的 Xbox 服务身份验证要求授权

  • 征求同意并提供选择:必须通知用户其发布者帐户与其 Microsoft 帐户的帐户链接。 如果链接了用户的帐户,则必须为用户提供选择退出的选项。 用户必须能够取消帐户的关联。

  • 适应所有用户:如果游戏功能(单人玩家、多人游戏、跨网络游戏、排行榜)需要发布者帐户登录,则登录和注册必须支持所有用户类型、年龄和提供游戏的区域,以及本地/地区法律允许这些功能的地区(无论年龄分级如何)。

注意:当链接帐户首次从新设备登录时,发布者可以实施其他欺诈防护机制,例如双因素身份验证中断。 此行为不违反此 XR。

详细信息

帐户身份验证:在主机上执行帐户关联或帐户创建的游戏必须遵守安全的身份验证过程。 身份验证可以在游戏内或合作伙伴网站内进行,也可以独立使用某一令牌进行,以便关联已验证身份的帐户。

适合所有用户:如果玩游戏需要某一关联的帐户,则游戏必须适合针对所有用户的帐户关联。 发布者负责确保他们提供的服务符合《儿童在线隐私保护法》(COPPA),以便在美国发行。

取消关联:用户必须能够取消发布者或服务帐户与其 Microsoft 帐户的关联。 在游戏中、网站上或第三方体验中允许关联的帐户管理。

单一登录:在为某一用户建立了帐户关联后,游戏必须使用任何设备实现单一登录。

意图:确保用户在将其 Microsoft 帐户关联到某一发布者或服务帐户时具有一致和安全的体验。

实现指南和最佳做法

帐户关联最佳做法

Xbox 用户期望从其娱乐系统中得到的远不仅仅是游戏。 但甚至对于跨多种不同类别范围提供几十个服务的内容提供商而言,也没有单个提供商能够有效满足每个用户的需要。 帐户关联(也就是说,允许 Xbox 主机用户使用其 Microsoft 帐户作为针对其所有互动服务的登录名)是针对此问题的理想解决方案。 此白皮书概要介绍了帐户关联在此 Xbox 主机上的工作方式,并且说明了在你的游戏中包括此功能的最佳实践和 Xbox 要求 (XR)。

帐户关联基础

帐户关联一词指的是在用户的 Microsoft 帐户(通称为 Xbox Live 帐户)与其在其他服务上的帐户之间建立关系。 使用帐户关联,在两个帐户之间共享数据。 尽管关联帐户的价值和用途在各游戏之间差异很大,但帐户关联通常使得帐户持有人能够使用 Xbox 主机访问关联帐户提供的服务。 此功能使得用户无需记住不同的登录名、极大增强用户体验并且为您的游戏添加巨大价值。

与帐户关联相关的潜在风险

帐户关联提供便利之余,也伴随着代价。 尽管具有关联帐户的价值无疑是很高的,但在创建和关联帐户时如果没有采取正确的预防措施,也可能会导致滥用、欺诈、违反隐私以及对用户安全造成其他潜在的危险。

欺诈

与帐户关联相关的最大风险可能就是欺诈了。 它可能会直接导致用户、您的游戏或者您的社区的经济损失,尤其是在与具有付费订阅或服务的帐户关联时。 欺诈通常涉及某一攻击者找到一种方法以便将受害者的帐户与该攻击者拥有的一个帐户相关联。 在关联帐户后,攻击者可以获取对受害者帐户中可用服务或信息的访问权限,例如其信用卡号或者其他个人身份信息。

下面是一个示例,说明疏忽的帐户关联实现是如何可能导致欺诈的。

  • 允许用户仅仅是在电影租赁服务网站上输入其玩家代号,就将其电影租赁服务帐户关联到其 Microsoft 帐户。 使网站通过请求用户的玩家代号而不要求任何帐户身份验证就可以关联帐户,会使攻击者能够关联到任何玩家代号。 这可能导致攻击者获取对有效用户的付费服务的访问权限,或者导致暴露可能以后用于其他攻击的 PII。

减轻欺诈可能性的最佳方式是要求在完成帐户关联之前对两个帐户都进行身份验证。 有关涉及身份验证的最佳做法的详细信息,请参阅本文后面的 帐户关联应做事项和禁止事项 部分。

违反隐私

可能违反用户的隐私也是与帐户关联有关的主要风险因素。 游戏发布者如果对用户的 PII 管理不佳,或者如果未经用户同意就收集和共享来自关联帐户的数据,则可能会面临联邦贸易委员会 (FTC) 的重罚。 除了 FTC 处罚之外,违反隐私的愚蠢错误可能导致发布者的重大公共关系灾难,并且还可能导致经济损失。

造成隐私风险的帐户关联实践的示例包括:

  • 未经用户同意就收集和共享来自关联帐户的 PII
  • 收集某一用户帐户的数据以便创建 PII(例如时间或位置数据)。
  • 没有不正确的同意就共享用户的受保护数据(如身高、体重、年龄或性别)。

如果您的游戏收集或显示 PII,则您应该与您的客户经理商讨,确定使用 Xbox 隐私管理器设置审核。

安全风险

不佳的帐户关联实现也可能导致用户安全风险。 例如,儿童在线隐私保护法案 (COPPA) 要求网站和在线服务在美国收集来自 13 岁以下用户的任何数据之前都要征得父母同意。 如果某一游戏关联帐户的方式违反 COPPA(也就是说,导致错误地收集年龄不到 13 岁的用户的数据),并且数据未保密,则孩子的个人安全可能存在风险。

当关联帐户内的数据或内容未恰当使用或者导致滥用发生时,用户安全也可能面临风险。

如果您的游戏收集或显示 PII,则您应该与您的客户经理商讨,确定使用 Xbox 隐私管理器设置审核。

帐户关联的要求

为帮助促进一致和积极的用户体验、降低与帐户关联有关的潜在风险以及确保帐户关联能够轻松且安全地实现,Microsoft 围绕这个日益受欢迎的功能确立了一些要求和政策。 将启用帐户链接的所有 Xbox 主机游戏都必须满足 将 Microsoft 帐户与发布者帐户关联的 Xbox 要求 (XR)。此要求包括四个主要点:帐户身份验证、帐户期限、取消链接和单一登录。

在服务之间建立某一帐户关联之前,游戏必须对 Microsoft 帐户以及要关联的发布者帐户进行身份验证,并且它们必须遵循安全的身份验证过程。 这一要求旨在确保在帐户创建和关联期间防止用户帐户信息被未经授权地泄露。 践行良好的身份验证方法是在您的帐户关联流程中降低欺诈风险的最佳方式之一。 通过确保在关联完成前用户对这两个帐户进行身份验证,可极大增加攻击者访问用户帐户的难度。 确保身份验证很好地执行是保护 Xbox Live 和您的游戏免受欺诈的关键。

如果玩游戏需要某一关联帐户,则需考虑令帐户关联适合所有用户。

如果玩游戏需要某一关联帐户,则游戏必须考虑令帐户关联适合所有用户。 发布者负责确保采用遵从针对美国的游戏发运的 COPPA 的方式处理与其服务的关联。

此要求将适用的情形可以是这样的游戏:该游戏是为所有受众创建的,其 ESRB 分级为 E,并且要求某一关联帐户才能玩。 为了玩游戏,用户将需要在该游戏服务上创建一个帐户,并且将该帐户与其 Microsoft 帐户关联。 您的游戏可能遇到这样一个问题:一个儿童想要玩该游戏,但受到帐户关联年龄要求的阻止。 因为这名儿童由于游戏的 E 分级而期望该游戏是适合其玩的,所以,在为游戏支付了费用但却无法访问该游戏时,这个儿童可能会感觉被骗了。 此情形还可能会鼓励用户使用其他帐户甚至伪造其年龄来玩该游戏 此要求旨在确保属于某一游戏分级内的所有用户都可以玩其购买的游戏。

游戏可以通过调用 UserAgeGroup 属性检查某一用户的年龄组。 该 UserAgeGroup 属性不要求对 XR-014 个人信息的例外。

成员 说明
成人 3 用户是成年人。
儿童 1 用户是儿童。
青少年 2 用户是青少年。
未知 0 用户年龄未知。

在创建帐户之前确认该用户的年龄

在将帐户创建功能提供给美国的 Microsoft 帐户用户之前,游戏必须在创建帐户前确认该用户的年龄。 此要求旨在鼓励发布者采用遵从针对美国的游戏发运的 COPPA 的方式处理其服务上帐户的创建。

游戏可以通过调用 UserAgeGroup 属性检查某一用户的年龄组。 该 UserAgeGroup 属性不要求对 XR-014 个人信息的例外。

成员 说明
成人 3 用户是成年人。
儿童 1 用户是儿童。
青少年 2 用户是青少年。
未知 0 用户年龄未知。

取消关联

用户必须能够取消发布者或服务帐户与其 Microsoft 帐户的关联。 游戏可以选择是在该游戏内、某一 Web 体验内还是某一中心应用内处理取消关联过程。 没有针对便于在游戏内取消关联的明确要求,只是玩家如果需要,则应具有用于取消其帐户关联的方法。 此要求旨在确保用户可以更改并管理已链接到其 Microsoft 帐户的帐户。

随着越来越多的数据保存在云中,用户信任服务可以做出有关如何处理其数据的正确决策。 用户在知道其对要捕获的数据的控制时,更有可能会与某一帐户共享数据。 一旦用户丧失了对某一服务的信任,或者用户不确定其数据的安全性,用户必须能够轻松地断开关联帐户之间的联系。

单一登录体验

在建立了帐户关联后,游戏必须实现单一登录。 此要求旨在使用户无需记住多个登录名和密码,就能够获得 Xbox 主机上一致的无缝体验。

Xbox 用户希望体验“仅工作”。当用户将其 Microsoft 帐户与其他服务相关联时,他们希望在初始会话和设置之外仍可以延续该关联。 单一登录意味着在使用该游戏时,该游戏会自动将用户登录到其关联帐户。 为使敏感信息或私人信息不会被本地存储在主机上,游戏应使用 Xbox 安全令牌服务 (XSTS) 促进单一登录体验。

应做事项和禁止事项

身份验证

应做事项

  • 通过使用用户的伙伴XUID (PWID) 而不是其玩家代号来关联帐户,因为尽管用户可能更改其玩家代号,但其 PXUID 将保持不变。

  • 验证玩家代号的所有权以便关联帐户(在用户的 PXUID 和发布者的内部 ID 号之间建立一个关系)。

    • 示例 1:用户登录到其在主机上的 Microsoft 帐户,并首次启动该游戏。 该游戏确认该用户满足年龄要求,并且为用户提供一个选项,可选择是关联到现有发布者帐户还是创建一个新的发布者帐户。 为了关联到某一现有发布者帐户,该用户为该发布者帐户输入其用户名和密码;这将已登录用户的 PXUID 关联到该发布者帐户。 如果该用户不具有现有发布者帐户,则该游戏会提示其通过选择用户名和密码创建一个新帐户。 在该用户输入某一用户名和密码后,其 PXUID 将关联到该发布者帐户。

    • 示例 2:用户通过该发布者的帐户身份验证机制使用帐户 ABC 登录到该发布者或服务站点。 在收到站点提示“使用与您的玩家代号相关联的 Microsoft 帐户登录”后,该用户使用其 Microsoft 帐户 ID 登录到网站。 发布者获取用户的访问令牌以检索发布者的依赖方的 X 令牌,并从 X 令牌中提取 PXUID 以标识用户。 然后,发布者或服务在发布者帐户或服务与与用户关联的 PXUID 之间创建关系。

    • 示例 3:用户通过该发布者的帐户身份验证机制使用帐户 ABC 登录到该发布者站点。 该网站向该用户显示一个唯一代码,例如 123,并且指示用户登录到其主机并且输入该代码。 该用户使用其玩家代号登录到主机并且输入代码 123。 然后将该代码传输回发布者站点,并且在该发布者帐户或服务和与该用户相关联的 PXUID 之间创建关系。

  • 向用户提供选项,以便在正进行帐户关联时阅读该发布者或服务的 TOU 和隐私声明,并且显示帐户关联屏幕。

禁止事项

  • 使用用户的 Xbox 用户 ID (XUID) 进行帐户关联。 它将被视为 PII 并且不应为帐户关联目的而存储。 应改为使用成对 ID。

  • 允许用户使用基于该用户的玩家代号的身份验证机制登录到发布者帐户站点。 换言之,在以下情况下不要启用帐户关联:用户在发布者或服务网站上输入了其玩家代号,并且发布者激活了该发布者或服务帐户和与该用户的玩家代号相关联的 XUID 之间的关系。 使用此类型的机制,用户可以使用他人的玩家代号登录,并因此将其自己的发布者帐户与他人的 Microsoft 帐户关联。

    注意 在发布者的服务器和 Xbox Live 服务之间建立服务到服务调用可能需要用户的 XUID。 对于这些情形,可以在需要其时暂时存储该 XUID。 如果您在使用服务到服务调用,请与您的开发者客户经理联系。

针对儿童和青少年帐户的帐户关联

应做事项

  • 对于儿童帐户:

    • 在为年龄不到 13 岁(在韩国和西班牙为 14 岁)的儿童创建帐户前需要家长同意。

    • 提供与游戏、网站或服务的内容分级有关的明确通知,以及游戏或服务与社交媒体相集成的能力有关的完整信息。

    家长同意(包括对发布者的 TOU 和隐私声明的明确接受)必须在发布者的网站上提供,而不是在 Xbox Live 上提供。

    这种做法确保在孩子的家长没有授权,或者希望孩子仅与已知好友进行交流和/或仅能看到来自已知好友的内容时,游戏不会向孩子提供替代方法以便查看来自他人的内容或者与他人交流。

    注意 发布者负责遵守在销售和供应其产品和服务的所有国家和地区中对儿童帐户适用的所有法律和规定。

  • 对于青少年帐户:

    • 向创建关联帐户的青少年(通常是 13 - 18 岁,但韩国和西班牙例外,分别是 14 - 20 岁和 14 - 18 岁)提供与该游戏或站点与社交媒体相集成的能力有关的完整信息。

    • 要求青少年通知其家长创建了该帐户关联的情形。 这包括能够接受针对青少年的 TOU 和隐私声明。 我们建议青少年需要接受发布者网站上的 TOU 和隐私声明,而不是通过游戏接受。

用户年龄

应做事项

  • 强制遵循与提供该游戏或服务的所有地区和服务的儿童在线隐私和安全有关的所有适用法律和法规要求。

  • 阻止未成年用户在明确针对成人或成人受众的网站或服务上创建帐户。 尽管这并非明确要求,但我们强烈鼓励将其作为最佳做法。

    • 示例:使用 UserAgeGroup 属性,发布者禁止年龄为 13 岁的具有 Microsoft 帐户的用户为热门的 M 分级游戏创建网站帐户。
  • 按游戏分级隔离可通过发布者管理的帐户访问的任何内容。 尽管这并非明确要求,但它可为未成年的用户提供更安全、更积极的客户体验。

    • 示例:由于内容的性质以及每个社区所针对的一般年龄和成熟度,家长可能适合于关联到 E 分级游戏的社区站点,但对于 M 分级的游戏则不适合。
  • 如果用户的 Microsoft 帐户上的年龄不同于其发布者帐户上的年龄,则使用这两个用户年龄中较低的那一个。

    • 示例: 如果用户在发布者帐户上的年龄 15 岁并且在其 Microsoft 帐户上的用户年龄为 13 岁,则游戏或服务会将该用户视为 13 岁。
  • 如果发布者站点在设置帐户时收集用户的年龄,并且用户的年龄低于 13 岁,则该站点应该:

    • 通知用户其未满足站点的年龄要求,并因此不允许在此时创建帐户。

    • 放置一个会话 cookie,以便用户无法刷新该页并提供其他年龄。

    • 销毁已为该用户收集的所有个人身份信息 (PII)。

取消关联

应做事项

  • 使用户能够切断其 PXUID 和发布者站点上帐户 ID 之间的关联。

  • (1) 通知用户其 PII 或玩家代号如何与社交服务相关联;(2) 为用户提供有关如何在网站上使用其信息的选项;(3) 需要显式用户操作和通知,以便将用户的玩家代号与其在网站上的帐户相关联和/或显示玩家代号。

    • 示例: 如果建立了与某一游戏站点的关联,则该站点可以显示该用户的玩家代号,但不应向他人显示该用户的实际姓名或其他标识符。 用户可以创建一个档案,然后选择将其玩家代号与其个人信息关联,但此选项应显式提供。
  • 使用户能够从主机以及发布者的 Web 门户取消其 PXUID 与其发布者 ID 的关联。

  • 通过游戏、网站或专用的中心应用向用户提供对其帐户关联的完全控制。 这应该包括针对家长同意(如果适用)、帐户关联和取消关联、单一登录、以及适用 TOU 和政策的审核的设置。

单一登录

应做事项

  • 要求用户当其首次在主机上启动该应用程序时提供其登录信息。 此漏洞的一个可能示例是:应用程序 A(一个即时消息应用程序)要求用户提供其发布者 A 帐户登录名。 如果应用程序 B(一个文件存储应用程序)提供自动登录并且使用了来自应用程序 A 的相同的发布者 A 登录名,则一名攻击者可能无需该发布者 A 登录名就可以使用来自应用程序 B 的缓存的凭据下载和访问应用程序 B 中的文件存储。

禁止事项

  • 在主机上存储任何 PII。

优异帐户关联的示例

下面的示例中概要介绍了前面论述的一些帐户关联最佳做法。

身份验证

下面的三个示例阐述了前面论述的身份验证最佳做法。

示例 1:用户登录到其在主机上的 Microsoft 帐户,并首次启动该游戏。 该游戏确认该用户满足年龄要求,并且为用户提供一个选项,可选择是关联到现有发布者帐户还是创建一个新的发布者帐户。

帐户关联

为了关联到某一现有发布者帐户,该用户为该发布者帐户输入其用户名和密码;这将已登录用户的 PXUID 关联到该发布者帐户。

帐户关联

如果该用户不具有现有发布者帐户,则该游戏会提示其通过选择用户名和密码创建一个新帐户。 在该用户输入某一用户名和密码后,其 PXUID 将关联到新发布者帐户。

示例 2:用户通过该发布者帐户身份验证机制使用帐户 ABC 登录到该发布者或服务站点。

帐户关联

在收到站点提示“使用与您的玩家代号相关联的 Microsoft 帐户登录”后,该用户使用其 Microsoft 帐户 ID 登录到网站。

帐户关联

发布者获取用户的访问令牌以检索发布者的依赖方的 X 令牌,并从 X 令牌中提取 PXUID 以标识用户。 然后,发布者或服务在发布者帐户或服务与与用户关联的 PXUID 之间创建关系。

有关如何启用 Microsoft 帐户登录的详细信息,请参阅 MSDN 主题应用和网站的单一登录

示例 3:用户通过该发布者的帐户身份验证机制使用帐户 ABC 登录到该发布者站点。

帐户关联

该网站向该用户显示一个唯一代码,例如 123,并且指示用户登录到其主机并且输入该代码。 该用户使用其玩家代号登录到主机并且输入代码 123。 然后将该代码传输回发布者站点,并且在该发布者帐户或服务和与该用户的玩家代号相关联的 PXUID 之间创建关系。

帐户关联

用户年龄和发布者 TOU

以下流程图描述了年龄/TOU 验证的一个很好的示例:

帐户关联

取消关联

创建一个简单 UI,以便允许用户取消其 Xbox 档案与某一关联的服务的关联。 我们不建议在 UI 中过深地隐藏取消关联选项或者要求用户致电技术支持来取消关联帐户。

帐户关联

参考

认证测试用例

013-01 将 Microsoft 帐户与发布者帐户关联

测试步骤

  1. 确认该游戏支持或要求非 Xbox 帐户或登录名来用于服务或功能。
  2. 通过使用新创建的 Xbox 档案,使用发布者提供的服务帐户或登录名以在初始设置过程中输入非 Xbox 帐户凭据。
  3. 确认游戏允许用户查看应用中的使用条款,或者在完成帐户关联过程之前通知用户如何查看使用条款。
  4. 确认未提示用户在任何位置中重新输入其非 Xbox 帐户凭据。
  5. 在游戏正在运行时注销后重新登录。
  6. 重复步骤 [4]。
  7. 终止后使用相同的档案重新激活游戏。
  8. 重复步骤 [4]。
  9. 终止游戏。
  10. 通过删除可能已由该游戏创建的任何保存的文件,确认游戏未在本地存储非 Xbox 帐户凭据。
  11. 重新激活该游戏,然后重复步骤 [4]。
  12. 在不同的主机上,使用相同的档案启动该游戏,然后重复步骤 [4]。
  13. 确认用户能够取消其 Xbox 档案与非 Xbox 帐户的关联。
  14. 对属于游戏年龄分级的 Xbox 子女帐户(年龄低于 13 岁)重复步骤 [1]-[13]。

预期结果
该游戏必须允许为处于游戏年龄分级范围内的所有用户创建发布者帐户。 该用户应该仅必须提供其凭据一次并且允许用户查看使用条款,或者在完成帐户关联过程之前通知用户如何查看使用条款。 必须向用户提供一个机制,以便取消其 Xbox 档案与其非 Xbox 帐户的关联。

通过示例

  1. 该游戏永远不会在用户最初已输入后的任何时间点要求用户重新输入其非 Xbox 帐户或登录凭据;并且在关联过程中以及只要关联了帐户,该游戏就会提供使用条款通知。
  2. 该游戏允许为处于游戏年龄分级范围内的所有用户创建发布者帐户。

失败示例

  1. 该游戏要求用户在每次启动游戏时都输入其非 Xbox 帐户或登录凭据。
  2. 该游戏要求用户在从其他主机运行该游戏时输入其非 Xbox 帐户或登录凭据。
  3. 该游戏未提供用于在帐户关联过程中查看使用条款的方法。
  4. 该游戏未提供用于从其非 Xbox 帐户取消关联其 Xbox 档案的方法。
  5. 该游戏不允许为处于游戏年龄分级范围内的所有用户创建发布者帐户。