メインコンテンツまでスキップ

Twitch をアイデンティティプロバイダーとして設定する

Last updated on July 15, 2026

注釈:本資料はAI技術を用いて翻訳されています。

概要

このガイドは、認証済みの Twitch デベロッパーが Twitch アカウントを AccelByte Gaming Services (AGS) に接続する際の手引きとなることを目的としています。ここに記載されていない追加機能を Twitch サービス内で設定する必要がある場合もあります。Twitch サービスの設定に関する詳細については、Twitch の担当者に直接お問い合わせいただくとともに、Twitch の公式ドキュメントを確認することをお勧めします。

重要

このガイドは一般公開を目的としており、機密保持の観点から限定的な情報のみを記載しています。まずは機密版の完全なガイドを参照することをお勧めします。ガイドのコピーを入手するには、担当の AccelByte テクニカルプロデューサーにお問い合わせください。

目標

  • AccelByte Game SDK を使用して、ゲームで Twitch 認証方式を有効にする。
  • AccelByte Player Portal を使用して、パブリッシャーの Web サイトで Twitch 認証方式を有効にする。

前提条件

Web ログイン統合

  • 認証済みの Twitch アカウントとデベロッパー向け Twitch アクセス権が必要です。
  • 認証の設定と権限管理を行うための AccelByte Admin Portal アカウント。
  • Player Portal および Launcher 用のパブリッシャー Namespace。
  • Player Portal。
AGS Public Cloud

Web ログイン統合は現在 AGS Public Cloud では利用できず、AGS Private Cloud でのみサポートされています。

インゲームログイン統合

  • 認証済みの Twitch アカウントとデベロッパー向け Twitch アクセス権が必要です。
  • 認証の設定と権限管理を行うための AccelByte Admin Portal アカウント。
  • ゲーム Namespace。
  • 最新バージョンの AccelByte Game SDK をインポートした Unity または Unreal のゲームプロジェクト。
  • AGS Identity and Access Management (IAM) クライアントに関する知識。

Twitch アプリの設定

Twitch デベロッパー組織のセットアップ(任意)

Twitch デベロッパー組織をセットアップします。組織の登録と管理ガイド の手順に従ってください。

Twitch 2FA の有効化

Twitch アカウントで 2FA を有効にします。二要素認証の設定ガイド の手順に従ってください。

アプリケーションの登録

Twitch デベロッパーコンソールでアプリケーションを登録します。アプリの登録ガイド の手順に従ってください。

注記

Twitch デベロッパーコンソールでの設定に問題がある場合は、カスタマーサポートに連絡して AccelByte からガイドを入手してください。

Twitch ログイン方式の設定

Web ログイン

以下の手順に従って、Player Portal で Twitch ログインを設定します。これにより、プレイヤーは Twitch アカウントを使用して Player Portal にサインインできるようになります。

  1. AGS Admin Portal で、パブリッシャー Namespace に移動します。

  2. サイドバーメニューで Foundations > 3rd Party Integrations > Auth & Account Linking に移動します。

  3. Auth & Account Linking ページで、+ Add New ボタンをクリックします。

    AccelByte Admin Portal Login

  4. ログイン方式のオプション一覧から Twitch を選択します。

    Twitch

  5. Twitch アプリの認証情報でログイン設定を入力します。Client ID には Twitch のクライアント ID を、Client Secret には Twitch のクライアントシークレットを入力し、Redirect URI には Twitch ログインのリダイレクト URI である <BaseURL>/iam/v3/platforms/twitch/authenticate を入力します(BaseURL はご利用のドメインアドレスです。例: https://development.accelbyte.io)。

    Twitch Create Configuration

  6. 詳細ページにリダイレクトされます。あとは設定を有効化するだけで使用できるようになります。

    Activate Twitch

試してみる

パブリッシャー Namespace で Twitch ログイン方式をすでに設定していることを確認してください。

  1. Player Portal に移動し、Login をクリックします。

    AccelByte Player Portal

  2. Twitch をクリックします。アイコンが見つからない場合は、More login options をクリックしたうえで Login with Twitch をクリックします。

    AccelByte Player Portal Login

  3. Twitch アカウントの認証情報でログインします。

    Twitch Login

注記

現在、プレイヤーは既存の AccelByte アカウントに Twitch アカウントをリンクするか、新しいアカウントにリンクするかを求められます。AccelByte では、プレイヤーがヘッドレスアカウントで Player Portal に直接ログインできるように、これを設定可能にする取り組みを進めています。

インゲームログイン

  1. AGS Admin Portal で、ゲーム Namespace に移動します。

  2. サイドバーメニューで Foundations > 3rd Party Integrations > Auth & Account Linking に移動します。

  3. Auth & Account Linking ページで、+ Add New ボタンをクリックします。

    AccelByte Admin Portal Login

  4. ログイン方式のオプション一覧から Twitch を選択します。

    Twitch

  5. Twitch アプリの認証情報でログイン設定を入力します。Client ID には Twitch のクライアント ID を、Client Secret には Twitch のクライアントシークレットを入力し、Redirect URI には BaseURL ドメインを入力します(BaseURL はご利用のドメインアドレスです。例: https://development.accelbyte.io)。

    Twitch Create Configuration

  6. 詳細ページにリダイレクトされます。あとは設定を有効化するだけで使用できるようになります。

    Activate Twitch

Twitch 用の IAM クライアントの作成

IAM クライアントは、対象プラットフォームでリリースしたいゲームクライアントを表すものです。

特定の SDK プラットフォーム(例: Xbox、Steam、Playstation)向けにゲームの IAM クライアントを既に作成している場合は、新しい IAM クライアントを作成する必要はありません。Twitch はゲームを構築するプラットフォームではないため、既存の IAM クライアントを使用できます。IAM クライアントの詳細については、アプリケーションのアクセス制御を管理する の記事を参照してください。

インゲームログイン統合

各ゲームエンジンでの設定方法は異なります。以下のタブから使用しているゲームエンジンを選択してください。

Unreal Engine のインゲームログイン統合

Unreal の準備と設定

依存関係の追加

まず、AccelbyteUe4Sdk というパブリック依存モジュールを追加する必要があります。この依存モジュールは、Unreal Engine 内で AccelByte SDK プラグインを使用してプロジェクトを統合するために必要です。

public ABThirdPartyLogin(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" , "AccelByteUe4Sdk", "Slate", "SlateCore" });

PrivateDependencyModuleNames.AddRange(new string[] { "Json", "HTTP" });

}

<YourProject>.Target.cs および <YourProjectEditor>.Target.cs 内に AccelbyteUe4Sdk を追加します。

public ABThirdPartyLoginTarget( TargetInfo Target) : base(Target)
{
Type = TargetType.Game;
DefaultBuildSettings = BuildSettingsVersion.V2;
ExtraModuleNames.AddRange( new string[] { "ABThirdPartyLogin", "AccelByteUe4Sdk" } );
}
public ABThirdPartyLoginEditorTarget( TargetInfo Target) : base(Target)
{
Type = TargetType.Editor;
DefaultBuildSettings = BuildSettingsVersion.V2;
ExtraModuleNames.AddRange( new string[] { "ABThirdPartyLogin", "AccelByteUe4Sdk" } );
}

Twitch ログイン用の Unreal Engine プロジェクト設定

DefaultEngine.ini ファイル内に、AccelByte の認証情報を追加してください。

[/Script/AccelByteUe4Sdk.AccelByteSettings]
ClientId=<Your Client_Id>
ClientSecret=<Your Client_Secret>
Namespace=<Your Namespace>
PublisherNamespace=<Your Publisher Namespace>
RedirectURI="http://127.0.0.1"
BaseUrl="https://prod.gamingservices.accelbyte.io"
IamServerUrl="https://prod.gamingservices.accelbyte.io/iam"
PlatformServerUrl="https://prod.gamingservices.accelbyte.io/platform"

Unreal サンプルコードの実装

次のステップでは、以下のサンプルコードを使用してゲームに Twitch 認証方式を実装する方法を紹介します。

  1. ログインコンテナとして、Blueprint 内に WebBrowser アイテムを作成します。
  2. Twitch ログイン URL をロードし、以下の認証パラメータを追加します。
    1. redirect_uri: ログイン完了時のリダイレクト URL。リダイレクト先はゲームに戻るため、値には BaseURL (ApiClient->Settings->BaseUrl) を入力します。また、ホワイトリストに登録するため、Twitch デベロッパーポータルの Redirect Uri 設定にも同じ BaseUrl の値を入力してください。
    2. response_type: 値には "code" を入力します。
    3. scope: 値には権限スコープを入力します。
注記

スニペットで使用されている AccelByteOnlineSubsystemPtr を取得するには、このガイドに従ってください。


auto ApiClient = AccelByteOnlineSubsystemPtr->GetApiClient(TEXT("YOUR_KEY"));
auto UserApi = ApiClient->GetUserApi().Pin();

void UAccelByteAuth::TwitchLogin()
{
FString TwitchClientId;
GConfig->GetString(TEXT("TwitchClientId"), TwitchClientId, GEngineIni);
FString RedirectUri = TEXT("YOUR_TWITCH_REDIRECTURI");
FString Scope = TEXT("user:read:email");

FString Url = FString::Printf(TEXT("https://id.twitch.tv?client_id=%s&redirect_uri=%s&response_type=%s&scope=%s"),
*FGenericPlatformHttp::UrlEncode(TwitchClientId),
*FGenericPlatformHttp::UrlEncode(RedirectUri),
TEXT("code"),
*FGenericPlatformHttp::UrlEncode(Scope));

WBrowser_LoginAuth->LoadURL(Url);
WBrowser_LoginAuth->OnUrlChanged.AddUniqueDynamic(this, &UAccelByteAuth::AccelByteLoginWithTwitch);
}
void UAccelByteAuth::AccelByteLoginWithTwitch(const FText& NewUrl)
{
FString Url = NewUrl.ToString();
FString RedirectUri = ApiClient->Settings->BaseUrl;
FString LoginCode = TEXT("");

if (Url.Contains(RedirectUri))
{
LoginCode = FGenericPlatformHttp::GetUrlParameter(Url, TEXT("code")).GetValue();
}

if (!LoginCode.IsEmpty())
{
UserApi->LoginWithOtherPlatform(AccelByte.Models.PlatformType.Twitch, LoginCode, FVoidHandler::CreateWeakLambda(this, [this]()
{
// ログイン成功時の処理
}),
FErrorHandler::CreateWeakLambda(this, [](int32 ErrorCode, const FString& ErrorMessage)
{
// ログイン失敗時の処理
}));

// ログインページを閉じる(WebBrowser を非表示にする)
}
}
注記

Twitch 認証における platform_token は Auth/Login Code です。

このサンプルコードをプロジェクトに追加したら、プロジェクトをコンパイルし、ビルドして実行します。これで完了です。

サンプルコードのテスト

以下に、サンプルコードが動作し、Twitch を使用してログインできていることを示すスクリーンショットを掲載します。 Unreal Code Testing