次の方法で共有


OAuth の使用

ゲーム開発者は、ユーザーが実行中のタイトルに資格情報を直接提供しなくても外部の Web サイトやサービスへのアクセスを委任できるようOAuth を使用できる必要があります。 これは実際には、ゲーム内のハイライトをソーシャル メディアで共有することを認証することから外部プロバイダーのユーザー データを要求することまで、幅広い操作を意味する可能性があります。

注意

表示される可能性のある Web ページには、ここで説明する OAuth ソリューションでサポートされないものもあります。 このソリューションは、メモリ制限の厳しい環境で、ゲームに加えて Web ページをレンダリングする方法によって異なります。 開発者は、Web ページが問題なくメモリ制約内に収まることをテストする必要があります。

XGameUiShowWebAuthentication のフローは 3 つの関数で構成されています。これらの関数は通常、次の順序で呼び出されることが想定されています。

  1. XGameUiShowWebAuthenticationAsync またはXGameUiShowWebAuthenticationWithOptionsAsync を呼び出して、非同期認証要求を開始します。 これにより、Web ビューがユーザーに表示 (現在のアプリケーションに重ねて表示) されます。ユーザーはこのビューを操作するか、戻るボタンを押して閉じることができます。 「オプション」 のバリアント型 を使用すると、呼び出し元は web ビューを全画面で表示するかどうかを選択できます。

    要求 URI は、セキュリティで保護された HTTPS アドレスである必要があります。 これは、ユーザーに表示される Web ビューの初期 URI を表します (サービスに対するユーザー認証のためのフィールドを含んでいる可能性があります)。

    コールバック URI が、ユーザーに表示される Web ビュー内でのナビゲート先の各 URI と照合されます。 コールバック URI にはアクセスせず、ユーザーがリンクをクリックしたとき、または Web サーバーがリダイレクトを開始したときに、呼び出し元のタイトルに制御が返されます。

  2. XGameUiShowWebAuthenticationResultSize を呼び出して、以前に完了した認証要求を格納するために必要なバッファーのサイズを取得します。 サーバーの応答には任意の量のデータが含まれる可能性があるため、このサイズは可変です。

  3. XGameUiShowWebAuthenticationResult を呼び出して、以前に完了した認証要求の結果を取得します。 事前に XGameUiShowWebAuthenticationResultSize を呼び出して必要なバッファーのサイズが取得されている必要があります。

    XGameUiShowWebAuthenticationResult を呼び出すと、結果を格納するために使用されたバイト数と、提供されたバッファーに含まれる XGameUiWebAuthenticationResultData 構造体へのポインターが返されます。

    認証要求の結果は、XGameUiWebAuthenticationResultData 構造体に格納されます。

    • 応答ステータスは、操作の全体的な結果を示します。

    • 応答データ数には、文字列の終端記号を含めた応答のサイズが含まれます。

    • 応答データには、成功した場合はユーザーを認証した結果として OAuth プロバイダーが追加したすべてのパラメーター (アクセス トークン、有効期限など) を含むベース コールバック URI、失敗した場合は null 文字列が含まれます。 また、responseStatus 構造のメンバーを確認できます。 認証ブラウザーが完了 URI に正常に移動すると、S_OK が含まれます。 それ以外の場合は E_CANCELLED が含まれ、[戻る] をクリックして ユーザーがキャンセルしたことが示されます。

関連項目

XGameUiShowWebAuthenticationAsync
XGameUiShowWebAuthenticationWithOptionsAsync