Discord をアイデンティティプロバイダーとして設定する
注釈:本資料はAI技術を用いて翻訳されています。
概要
このガイドでは、認証済みの Discord 開発者が Discord アカウントを AccelByte Gaming Services (AGS) に接続する方法を説明します。ここに記載していない Discord サービス側の追加機能の設定が必要になる場合があります。Discord サービスの設定について詳しくは、Discord の担当者に問い合わせるとともに、Discord のドキュメントを確認することをお勧めします。
このガイドは一般公開向けであり、機密保持の都合上、限られた情報のみを掲載しています。まずは完全版の機密ガイドを参照することをお勧めします。機密ガイドのコピーをご希望の場合は、AccelByte のテクニカルプロデューサーにお問い合わせください。
目標
- AGS Player Portal を使用するパブリッシャーウェブサイトで、Discord 認証方式を有効にする。
- AGS SDK を使用するゲームで、Discord 認証方式を有効にする。
前提条件
- Discord 開発者アカウント。詳細は Discord Developer Portal を参照してください。
- 認証を設定し、権限を管理するための AGS Admin Portal アカウント。
- Player Portal と Launcher 用のパブリッシャー Namespace、およびゲーム用のゲーム Namespace。
- Player Portal。
Discord アプリケーションを設定する
Discord アプリケーションを作成する
Discord アプリケーションを作成します。作成手順については、Creating an app guide を参照してください。
Discord OAuth2 を設定する
Discord の OAuth2 を設定します。OAuth2 の Client Secret を生成し、保存してください。あわせて、認証プロセスで使用する以下の URI を OAuth2 のリダイレクト URL に追加します。
https://<BaseURL>https://<BaseURL>/iam/v3/platforms/discord/authenticatehttps://<BaseURL>/iam/v3/public/namespaces/<namespace>/users/me/platforms/discord/web/link/establish
BaseURL はドメインアドレスです(例: https://development.accelbyte.io)。
詳細については、Discord OAuth2 のドキュメント を参照してください。
Discord のウェブログインを設定する
ウェブログイン連携は現在 AGS Public Cloud では利用できず、AGS Private Cloud でのみサポートされています。
設定手順
以下の手順で、Player Portal に Discord ログインを設定します。設定すると、プレイヤーは Discord アカウントを使用して Player Portal にログインできるようになります。
-
AGS Admin Portal で、パブリッシャー Namespace に移動します。
-
サイドバーメニューで、Foundations > 3rd Party Integrations > Auth & Account Linking に移動します。
-
Auth & Account Linking ページで、+ Add New をクリックします。

-
Select login provider ページで、Social タブから Discord を選択します。

-
Set Up Discord login provider ダイアログが表示されます。以下のフィールドを入力します。
- Platform ID:
discordを自動的に設定します。変更はできません。 - Client ID: Discord アプリの Client ID です。
- Client Secret: Discord アプリの Client Secret です。
- Redirect URI:
<BaseURL>を指定します。BaseURL はドメインアドレスです(例:https://development.accelbyte.io)。

- Platform ID:
-
Add & Activate をクリックすると、プロバイダーの作成と有効化を一度に行えます。有効化せずに作成する場合は、Add をクリックします。
ログインプロバイダーを編集する
-
Auth & Account Linking ページで、Discord プロバイダーをクリックします。
-
Discord login provider ダイアログが表示されます。必要に応じてフィールドを更新します。

-
上部にある Status トグルを使用して、プロバイダーを有効化または無効化します。
-
Save をクリックします。
試してみる
事前に、パブリッシャー Namespace で Discord ログイン方式を設定済みであることを確認してください。
-
Player Portal に移動し、Login をクリックします。

-
Discord アイコンをクリックします。見つからない場合は、More login options をクリックします。

-
Discord のログインページにリダイレクトされます。続行するには、Discord の認証情報を入力します。
これで必要な手順はすべて完了です。

プレイヤーには、Discord アカウントを既存または新規の AccelByte アカウントとリンクするよう求めるメッセージが表示されます。AccelByte では、プレイヤーがヘッドレスアカウントで Player Portal にログインできるよう、この動作を設定可能にする機能を開発中です。
ゲーム内での Discord ログインを設定する
以下の手順で、ゲームに Discord ログインを設定します。設定すると、プレイヤーは Discord アカウントを使用してゲームにログインできるようになります。
AGS Public Cloud(Shared Cloud)では、ゲーム内ログインの際に AGS がプレイヤーを Discord 経由でリダイレクトすることはありません。ゲームクライアント側で Discord の OAuth 連携を実装して認可コードを取得し、そのコードを AGS に渡す必要があります。AGS Private Cloud では、この制約はありません。
-
AGS Admin Portal で、ゲーム Namespace に移動します。
-
サイドバーメニューで、Foundations > 3rd Party Integrations > Auth & Account Linking に移動します。
-
Auth & Account Linking ページで、+ Add New をクリックします。
-
ログイン方式のオプション一覧から、Discord を選択します。
-
Set up Discord login provider フォームが表示されます。以下のフィールドを入力します。
- Platform ID:
discordを自動的に設定します。変更はできません。 - Client ID: Discord アプリの Client ID です。
- Client Secret: Discord アプリの Client Secret です。
- Redirect URI:
http://127.0.0.1を指定します。
- Platform ID:
-
Add & Activate をクリックすると、プロバイダーの作成と有効化を一度に行えます。有効化せずに作成する場合は、Add をクリックします。
ログインプロバイダーを編集する
-
Auth & Account Linking ページで、Discord プロバイダーをクリックします。
-
Discord login provider ダイアログが表示されます。必要に応じてフィールドを更新します。
-
上部にある Status トグルを使用して、プロバイダーを有効化または無効化します。
-
Save をクリックします。