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

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

Last updated on February 4, 2026

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

概要

このガイドは、認証されたTwitchデベロッパーがTwitchアカウントをAccelByte Gaming Services (AGS) に接続するのを支援することを目的としています。ここに記載されていないTwitchサービス内の追加機能を設定する必要がある場合があります。Twitchサービスの設定に関する完全な情報については、Twitchの担当者に連絡し、Twitchドキュメントを直接確認することをお勧めします。

important

このガイドは公開用であり、機密性のため限定的な情報が含まれています。まず完全な機密ガイドを参照することをお勧めします。機密ガイドのコピーをリクエストするには、AccelByteテクニカルプロデューサーにお問い合わせください。

目標

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

前提条件

ウェブログイン統合

  • 認証されたTwitchアカウントとTwitchデベロッパーアクセスが必要です。
  • 認証を設定し、権限を管理するためのAccelByte Admin Portalアカウント。
  • Player PortalとLauncher用のパブリッシャーNamespace。
  • Player Portal。
AGS Shared Cloud

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

ゲーム内ログイン統合

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

Twitchアプリの設定

Twitch Developer Organizationsの設定(オプション)

Twitch Developer Organizationsを設定します。Registering and Managing Organizations Guideに従ってください。

Twitch 2FAの有効化

Twitchアカウントの2FAを有効にします。Setting up Two-Factor Authentication Guideに従ってください。

アプリケーションの登録

Twitch Developer Consoleでアプリケーションを登録します。Registering Your App Guideに従ってください。

注記

Twitch Developer Consoleでの設定に問題がある場合は、カスタマーサポートに連絡してAccelByteからガイドを入手してください。

Twitchログイン方法の設定

ウェブログイン

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

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

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

  3. Login Methodsページで、+ Add Newボタンをクリックします。

    AccelByte Admin Portal Login

  4. ログイン方法オプションのリストから、Twitchを選択します。

    Twitch

  5. Twitchアプリ認証情報でログイン設定を入力します。Client IDにtwitch clientIDを、Client Secretにtwitch client secretを入力し、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

注記

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

ゲーム内ログイン

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

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

  3. Login Methodsページで、+ Add Newボタンをクリックします。

    AccelByte Admin Portal Login

  4. ログイン方法オプションのリストから、Twitchを選択します。

    Twitch

  5. Twitchアプリ認証情報でログイン設定を入力します。Client IDにtwitch clientIDを、Client Secretにtwitch client secretを入力し、Redirect URIBaseURLドメインを入力します(BaseURLはドメインアドレス、例: https://development.accelbyte.io)。

    Twitch Create Configuration

  6. 詳細ページにリダイレクトされます。この時点でアクティベートするだけで使用できるようになります。

    Activate Twitch

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

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

特定のSDKプラットフォーム(Xbox、Steam、Playstationなど)のゲーム用のIAMクライアントを既に持っている場合は、新しいIAMクライアントを作成する必要はありません。Twitchはゲームを構築するプラットフォームではないため、既存のIAMクライアントを使用できます。IAMクライアントの詳細については、Manage Access control for applicationsの記事を参照してください。

ゲーム内ログイン統合

各ゲームエンジンの設定は異なります。利用可能なタブからゲームエンジンを選択してください。

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ファイル内に、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. Login Twitch Urlをロードし、認証パラメータを追加します:
    1. redirect_uri: ログインが完了したときのRedirectURL。リダイレクトはゲームに戻るため、BaseURL(ApiClient->Settings->BaseUrl)で値を入力します。また、ホワイトリストに登録するために、Twitch developer portalの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]()
{
// Handle Success Login
}),
FCustomErrorHandler::CreateWeakLambda(this, [](int32 ErrorCode, const FString& ErrorMessage, const FJsonObject& ErrorJson)
{
// Handle Error Login
}));

// Close Login Page (Hide WebBrowser)
}
}
注記

Twitch認証のplatform_tokenはAuth/Login Codeです。

このサンプルコードをプロジェクトに追加した後、プロジェクトをコンパイルし、ビルドして実行します。以上です!

サンプルコードのテスト

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