ゲームにサービス間認証を実装する

サービス間認証に Microsoft Game Development Kit (GDK) を使用すると、サービスは Microsoft Store API と安全に連携できます。 この方法では、ユーザー Store ID または委任された認証トークンを使用して、呼び出しを認証します。 シームレスな統合とセキュリティで保護されたトランザクションを保証します。

PC コンソールの Xbox タイトルの両方で、新しいタイトルとサービスには Microsoft Entra ID 認証フローとユーザー Store ID の使用を推奨します。 Microsoft Store の将来のサービスと開発では、X-token ではなく、ユーザー Microsoft Store ID を活用します。

Microsoft Entra ID とユーザー Store ID を使用してサービス間認証を実装する

ユーザー Store ID を使用して、独自のサービスから Microsoft Store API に対して行う呼び出しを認証できます。

ユーザー Store ID には次の 2 種類があります。

  • UserCollectionsID: Microsoft Store コレクション サービスを使用して認証します
  • UserPurchaseID: Microsoft Store 購入サービスを使用して認証します

このプロセスには、異なるタスクを実行する 2 つのソフトウェア コンポーネントが含まれます。

  • サービス: ビジネス環境のコンテキストで安全に実行されるアプリケーションです。 このアプリは、任意の開発プラットフォームを使用して実装できます。 サービスでは、Microsoft Store コレクション サービスの REST URI を呼び出しに必要な Microsoft Entra ID アクセス トークンを作成します。
  • ゲーム: ユーザーのエンタイトルメント情報にアクセスして管理する対象となるゲーム (ゲームのアドオンを含む) です。 このゲームで、Microsoft Store API を呼び出すために必要なユーザー Store ID キーを作成します。 ゲームでは、ユーザー Store ID キーを直接作成するか、X トークンをサービスに渡してキーを作成できます。 サービスで Store ID キーを作成する方法の詳細については、「X-token または OAuth 2.0 を使用して、サービスからユーザー Store IDを要求する」を参照してください。

このシナリオでは、Microsoft Store サービス API でサービス間認証用のユーザー Store ID を取得するために必要な構成と手順について説明します。

  1. Microsoft Entra ID でアプリケーションを構成する: Microsoft Store API を使用するには、その前に、Microsoft Entra ID Web アプリケーションを作成し、そのアプリケーションのテナント ID とアプリケーション ID を取得して、キーを生成する必要があります。
    Microsoft Entra アプリケーションでは、[管理]->[認証] で次のオプションを有効にする必要があることに注意してください。
    • アクセス トークン
    • ID トークン
    • サポートされているアカウントの種類には、 個人の Microsoft アカウント (Skype や Xbox など) が含まれている必要があります
  2. Microsoft Entra アプリケーション ID を Microsoft Partner Center のクライアント アプリに関連付ける: Microsoft Store API を呼び出して製品の結果を取得するには、Microsoft Entra アプリケーション ID をパートナー センターのゲームに関連付ける必要があります。 ゲームおよびすべてのアドオン製品のサンドボックス環境、または RETAIL 環境にも再発行が必要です。
  3. Microsoft Entra IDアクセス トークンの作成: Microsoft Store API を呼び出すには、2種類の異なる Microsoft Entra アクセス トークンが必要です。 これら 2 つのトークンは、サービス アクセス トークンとユーザー Store IDです。
  4. ユーザー Store ID キーを作成する: ゲームで、Microsoft Store アプリに現在サインインしているユーザーの ID を表すユーザー Store ID キーを作成します。 このキーをサービスに戻します。
  5. Microsoft Entra ID およびユーザー ストア ID を使用した認証: すべての Microsoft Store サービス API は、Microsoft Entra ID およびユーザー Store ID による認証をサポートします。
  6. Microsoft Store ID キーを更新する: ユーザー Store ID キーを生成した場合、有効期間は 30 日間です。 30 日の有効期間内であれば、キーは Microsoft Store サービスの認証を受けられます。 また、有効期限が切れる前にキーを更新して、同じ Microsoft Entra アプリケーションのクライアント ID とユーザー ID に対して新しいユーザー Store ID を生成できます。

関連項目

GDK ドキュメントは、最新情報に関する最も優れた情報源です。 詳細については、次の記事をご覧ください。

Microsoft.StoreServices .NET ライブラリとサンプル

この認証フローの独自のゲームへの統合を合理化するために、Microsoft.StoreServices ライブラリ用に公開されている GitHub プロジェクトを参照してください。 このライブラリを使用すると、バックエンド サービスから Microsoft Store サービスを認証および呼び出すプロセスが簡略化されます。 これらのサービスを使用すると、Microsoft Store (Xbox コンソールを含む) 内でアプリまたはゲーム用に行われたユーザー購入を確認して管理できます。

このサンプルは、Web サービスを Microsoft.StoreServices ライブラリと統合する方法と、消費型製品の管理、返金された購入の調整、期限切れのユーザー Store ID の更新などのロジックの例を示しています。 このサンプルは、この認証方法用に Microsoft Entra ID を構成およびセットアップする方法に関するこの記事の手順を含む構成ガイドを提供します。