权限基于多种因素
XBOX services 用户的有效权限基于以下因素。- 该用户的订阅权益
- 用于访问 XBOX services 的设备类型
- 当前正在运行的应用
- 应用于该用户账户的家长控制
- 来自 XBOX services 在线安全和执法管理员 的输入(例如 XBOX services 暂停)
权限在身份验证期间计算
当用户登录并获得 XBOX services 授权时,XBOX services 会计算并颁发用户的有效权限。 用户的权限包含在身份验证时收到的令牌中。 权限在令牌声明中颁发。XBOX services 中的权限信息
用户必须访问 XBOX services,您的客户端应用才能获取该用户的权限信息,如下面的屏幕截图所示。
用户权限信息的流程
- XBOX services 客户端(代表作品或应用)向 XBOX 安全令牌服务 (XSTS) 请求令牌。
- XSTS 为请求的信赖方返回令牌。然后,XSTS 计算请求中所有用户的权限,并向其颁发令牌声明。来自客户端应用的请求包含以下自动化操作。
- 应用直接调用 XBOX services,并在请求的授权标头中包含令牌。
- XBOX services 根据令牌中的权限授予对所请求功能(例如
XPRIVILEGE_MULTIPLAYER_SESSIONS)的访问权限。
- XBOX services 根据令牌中的权限授予对所请求功能(例如
- 或者,应用调用为 SSO 配置的信赖方服务。
- 该服务包含请求授权标头中的令牌。
如果合作伙伴 SSO 服务提供 XBOX services 功能的实现(例如可下载的用户创建内容,如
XPRIVILEGE_USER_CREATED_CONTENT),则合作伙伴服务使用令牌中的权限来授予对所请求功能的访问权限。 - 若要解密和反序列化 XBOX services 令牌,必须为 SSO 配置合作伙伴服务。
- 有关此配置的详细信息,请参阅 作品服务的 XBOX services 身份验证。
- 该服务包含请求授权标头中的令牌。
如果合作伙伴 SSO 服务提供 XBOX services 功能的实现(例如可下载的用户创建内容,如
[!NOTE] 客户端可以使用 XBOX 平台 API 在向 XBOX services 发出请求之前自定义用户体验并驱动解决方案(例如追加销售、家长覆盖)。
- 应用直接调用 XBOX services,并在请求的授权标头中包含令牌。
- 合作伙伴服务可以使用委派的授权令牌代表用户向 XBOX services 发出请求。
- 如果请求是针对需要特定权限的功能(例如
XPRIVILEGE_COMMUNICATIONS),则合作伙伴服务必须代表用户为 XBOX services 获取委派的授权令牌,并将其包含在请求的授权标头中。 - XBOX services 根据用户的权限授予对请求功能的访问权限。
- 如果请求是针对需要特定权限的功能(例如
用户身份中的权限
权限是用户身份中的 声明,该声明包含用户当前有效权限的集合,如下面的标头声明所示。 如果权限位于集合中,则用户当前已被授权访问相应的功能。 如果权限不在集合中,则用户当前未获授权。 用户的有效权限是动态的,取决于以下方案。- 任何已过期的订阅权益
- 当前正在运行的应用
- 在同一客户端设备上登录的所有账户
- 客户端设备的状态
- 应用于该用户账户的家长控制
- 来自在线安全和执法管理员的输入(例如 XBOX services 暂停)
当用户在特定时间被授权使用某项功能时,并不保证以后仍被授权访问该功能。
