- 流程中没有游戏客户端参与的体验
- 将用户的 XBOX 账号与你自己的服务上的用户账号关联
- 已经使用 XBOX 安全令牌 (XSTS 或 X-token) 进行客户端到服务和服务到服务调用身份验证的游戏和服务
X-token 要求
此过程需要使用委派身份验证 X-token 来标识 User Store ID 所代表的用户。 有关委派身份验证 X-token 及其创建方法的更多信息,请参阅“Title service calls to XBOX services”文档。使用 OAuth 2.0 生成 User Store ID 的要求
如果你的服务使用 OAuth 让用户使用其 Microsoft 账户 (MSA) 登录,则需要:- 用户必须有绑定到其 Microsoft 账户的 XBOX 身份,因为 OAuth 凭据需要被交换为 X-token。
- 你请求的 OAuth 范围必须同时包含
xboxlive.signin和xboxlive.offline_access,以确保此流程获得适当的用户同意并能获取所需的 X-token。
使用 OAuth 2.0 凭据时的步骤
使用 OAuth 时,你获取用户同意并将 OAuth 凭据针对你的依赖方交换为 X-token。之后,继续按照使用 X-Token 时的步骤进行。 将 OAuth 凭据交换为 X-token 的概要流程:- 获取 OAuth 2.0 授权码
- 用授权码交换 RPS 令牌(也称为 Microsoft 账户访问令牌)
- 用 RPS 令牌交换 XBOX 用户令牌
- 针对你自己的依赖方用 XBOX 用户令牌交换 X-Token
- 在使用 X-Token 时的步骤中使用该 X-token。
使用 X-Token 时的步骤
在获得为你的依赖方标识用户的 X-token 后,使用其DelegationToken 声明创建委派身份验证 X-token。初始 X-token 可以来自游戏客户端或 OAuth 2.0 流程。
创建委派身份验证 X-token 的概要流程:
- 从用户的 X-token 中提取 DelegationToken 声明 (
dlt)。 - 使用你的 Business Partner 证书从 XSAS 服务获取 Service Token。
- 将 DelegationToken、Service Token 和目标依赖方(见表格)交换为委派身份验证 X-token。
