- フロー内にゲーム クライアントが存在しないエクスペリエンス
- ユーザーの XBOX アカウントを、そのユーザーの独自のサービス アカウントにリンクする
- クライアント/サービス間およびサービス間呼び出しに XBOX Security Tokens (XSTS または X-Token) 認証を既に使用しているゲームおよびサービス
X-Token の要件
このプロセスでは、ユーザー Store ID が表すユーザーを識別するために Delegated Auth X-Token の使用が必要です。 Delegated Auth X-Token とその作成方法の詳細については、「Title service calls to XBOX services」のドキュメントを参照してください。ユーザー Store ID を生成するための OAuth 2.0 の要件
サービスが OAuth を使用してユーザーが Microsoft アカウント (MSA) でサインインする場合、以下が必要です。- OAuth 資格情報を X-Token と交換する必要があるため、ユーザーは Microsoft アカウントに紐付けられた XBOX ID を持っている必要があります。
- 要求する OAuth スコープには、このフローに対する適切なユーザー同意と必要な X-Token を取得できるように
xboxlive.signinとxboxlive.offline_accessの両方を含める必要があります。
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 クレームを使用して Delegated Auth X-Token を作成します。最初の X-Token は、ゲーム クライアントまたは OAuth 2.0 フローのいずれかから取得できます。
Delegated Auth X-Token を作成する概要フロー:
- ユーザーの X-Token から DelegationToken クレーム (
dlt) を抽出します。 - ビジネス パートナー証明書を使用して XSAS サービスからサービス トークンを取得します。
- DelegationToken、サービス トークン、および対象の証明書利用者 (表を参照) を Delegated Auth X-Token と交換します。
