EDS 授权

简介

Entertainment Discovery Services (EDS) 3.1 将不支持匿名流量。 所有 EDS 请求均需要进行身份验证。 EDS 需要来自调用方的 XToken 以对客户端进行正确的身份验证。 这些令牌由 XSTS 生成,可通过各种 Xbox 身份验证服务 (XAS) 获取。 设备、用户和游戏均有单独的身份验证服务,它们都会定义令牌的标识。

XSTS 是 Xbox LIVE 的网关守卫。 它是第一道防线,用以确定用户或设备是否被授权连接到任意 Xbox LIVE 服务。 在对用户进行身份验证之后,XSTS 将生成用以向服务上的任何组件安全标识自己的 XToken。 此 XToken 是你访问 LIVE 的护照。

很多人和物都希望使用我们的服务。 我们也希望大部分这些人和物能够使用我们的服务。 但我们如何确保物不会假装成人,而人是自己声称的真实存在呢? 我们为他们提供可用来向他人证明身份的令牌。

这些令牌由 XSTS 生成,通常称为 XToken。 XToken 是一个广义的术语,用于涵盖包含各种不同内容且有许多不同形式的令牌,但它们全部由 XSTS 服务器创建、签名、加密(可选)。 在内部,XSTS 使用 MXAN 创建令牌并为其设定格式。 到目前为止,MXAN 是从 XToken 提取信息的唯一组件。 使用令牌的服务将请求头传递到 MXAN 以进行破解。 对令牌进行处理和验证,而通过令牌表达的声明将返回到服务。 随后,服务可以使用这些声明值来识别调用用户或设备的身份,并根据该信息执行操作。

用户、设备和游戏的基本标识令牌由 Xbox 身份验证服务 (XAS) 提供。 每个 XAS 负责生成为它们负责的各个声明指定值的标识令牌。

  • XASD(适用于设备的 XAS):创建提供设备标识的 DToken
  • XASU(适用于用户的 XAS):创建提供用户标识的 UToken
  • XAST(适用于游戏的 XAS):创建提供游戏标识的 TToken

授权过程

  • 获取一个或多个标识令牌。 每个 D、U 和 T 令牌最多可以请求一个 XToken。 必须至少提供一个 D 或 U 令牌。

    • 通过提供设备身份验证详细信息从 XASD 请求 DToken
    • 使用某种形式的用户身份验证从 XASU 请求 UToken。 用户身份验证可能以 MSA (RPS) 令牌形式提供。
    • 从 XAST 请求 TToken。 游戏是否可用取决于当前运行的平台,因此也必须向 XAST 提供 DToken。
  • 创建 XSTS 请求。

    • 定义为其请求令牌的信赖方。
    • 使用 D、U 和/或 T 令牌填充请求属性。 *执行 XSTS 请求并缓存生成的 XToken。 返回的 XToken 包含(最多)所有来自标识令牌以及所有其他声明(当前的订阅状态、用户组等)的设备、用户和游戏标识信息。

3.0 令牌:多用户与单用户

这是 3.0 令牌的形式:XBL3.0 x=<hash>;<token>

根据<哈希>的不同,令牌将受到不同的对待:

  • 如果<哈希>等于 *(星号),则没有特定用户在执行请求,令牌中的所有用户均位于反序列化主体中。 这是真正的多用户形式。
  • 如果<哈希>等于 -(破折号),则没有用户在执行请求。 任何反序列化主体中的用户都将被移除。
  • 如果<哈希>不等于 * 或 -,则它是一个标识符,用于指示令牌中的哪个用户在发起请求。 仅所指示的用户会出现在反序列化主体中。 所有其他用户都将被移除。这是单用户 3.0 令牌。

EDS 是否支持多用户?

  • 答案是否。 在上述情况下,主机将始终发送单用户令牌。 即使有多个用户登录,也必须有指示的“调用方”,所有其他标识将被移除。

另请参阅

父级

其他参考

补充信息

市场 URI