Auth Interface

ログイン / ログアウト機能など、ユーザー アカウントの確認を処理するインターフェースです。

30 分で読めます

Auth インターフェース

Auth インターフェースを使用すると、プレイヤー (ユーザー) はゲーム (製品) から Epic カウントにログインできるため、Friends インターフェース、Presence インターフェース、UserInfo インターフェース、Ecom インターフェースなどの Epic Account Services (EAS) が提供する各種機能にアクセスできます。Auth インターフェース は、EOS との Epic アカウント関連のインタラクションを処理し、ユーザーを認証してアクセス トークンを取得する機能を提供します。

ユーザーレスのクライアント設定 (つまり、クライアント ポリシーがユーザーを要求しない 場合、client_credentials のみでクライアントを初期化することができます。ユーザー情報は必要ありません。

Auth インターフェースを使用するには、お使いのゲーム (製品) で Epic Account Services (EAS) が有効になっており、 基本プロファイル のデータへのアクセスに対して ユーザーの許可 を得る必要があります。EAS は Developer Portal 上で有効にすることができます。詳細は「Epic のドキュメント」を参照してください。EAS が有効になっておらず、ユーザーの許可を得ていない場合でも、EOS SDK と Auth インターフェースを初期化することはできます。ただし、バックエンド サービスへのすべての Auth インターフェースの関数呼び出しは失敗します。

認証関数

認証関数にアクセスするには、 EOS_HAuth ハンドルが必要です。このハンドルは、 Platform インターフェース の関数である EOS_Platform_GetAuthInterface を呼び出すことで取得できます。このハンドルは、Auth インターフェースの関数がユーザー情報にアクセスするために必要です。

ログインする

EAS のオンライン機能とのインタラクションを開始するには、プレイヤーは始めに有効なEpic アカウントでログインする必要があります。プレイヤーがログインできるように設定するには、ローカル プレイヤーの アカウント 資格情報を含む EOS_Auth_LoginOptions 構造体を使用して EOS_Auth_Login 関数を呼び出します。完了時には、ログイン試行の成否にかかわらず、EOS_Auth_OnLoginCallback 型のコールバック関数が実行されます。

ブランド レビュー プロセスでは、Epic Games がゲームのブランドを検証します。認証されると、組織 以外のプレイヤーは、ゲームに統合されている Epic Account Services を使用できるようになります。ブランド レビューの前に、プレイヤーが外部アカウントでゲームにログインしようとすると、エラーが発生します。詳細については、「ブランド レビュー アプリケーション プロセス」ドキュメントを参照してください。

EOS_Auth_LoginOptions は、EOS_AUTH_LOGIN_API_LATEST に設定した ApiVersion 変数と、次の情報を含む Credentials 変数 (EOS_Auth_Credentials 型) で初期化する必要があります。

プロパティ
ApiVersionEOS_AUTH_CREDENTIALS_API_LATEST
Idログインしているユーザーの ID。ログインしているユーザーの ID。他の多くの関数とは異なり、メール アドレスや表示名など、ユーザーが理解しやすいものにする必要があります。
Tokenユーザーのログイン資格情報または認証トークン。
Typeこのログイン試行で使用している資格情報のタイプ。EOS_ELoginCredentialType を使用すると、利用可能な資格情報の種類が一覧表示されます。
SystemAuthCredentialsOptionsこのフィールドは、システム固有のオプション用です。必要に応じて使用します。
ExternalTypeTypeEOS_LCT_ExternalAuth に設定されている場合、このフィールドは使用する外部認証方法を示します。使用可能なすべてのメソッドのリストについては、EOS_EExternalCredentialType を参照してください。

Auth インターフェース ハンドル、 EOS_Auth_LoginOptions 構造体、およびコールバック情報を関数に渡します。EOS_HPlatform ハンドルがティックしている場合、操作が終了すると、指定したコールバックが実行されます。

Epic アカウントの優先されるログイン タイプ

SDK 1.5 バージョン で優先されるプラットフォームごとのログイン タイプは次のとおりです。

プラットフォームログイン型概要
コンソールEOS_LCT_ExternalAuth関連付けられた Epic アカウントにプラットフォーム ユーザーを自動ログインするために使用するプラットフォーム アクセス トークン。
Steam クライアントEOS_LCT_ExternalAuthローカルの Steam ユーザーを、関連付けられた Epic アカウントに自動ログインさせるために使用する Steam セッション チケット。
Epic Games LauncherEOS_LCT_ExchangeCodeランチャーから受け取ってユーザーの自動ログインに使用される交換コード。
PC およびモバイル デバイス上のその他のストア プラットフォームおよびスタンドアロン ディストリビューションEOS_LCT_PersistentAuth での EOS_LCT_AccountPortalユーザーは、Epic アカウントの資格情報を使用してログインするように求められます。その後、長期間有効な更新トークンがローカルに保存され、アプリケーションを連続して実行しても自動ログインできるようになります。
コンソール

このゲームでは、ローカル ユーザー アカウントのアクセス トークンをプラットフォームから取得します。EOS_LCT_ExternalAuth ログイン タイプを使用して、プラットフォーム ユーザーが Epic アカウントにログインされます。ログイン フローの詳細については、「外部アカウント認証」を、プラットフォーム コードの統合についてはコンソール固有のドキュメントを参照してください。

PC またはモバイル デバイス

PC とモバイル デバイスは、通常、長期間有効な更新トークンによって有効化され、認証バックエンドによって付与された、デバイスとユーザー アカウントに固有の永続的なログインを使用します。これらのプラットフォームでは、SDK は必要に応じてこれらのトークンを自動的に格納、取得し、ログイン後に毎回、これらのトークンを更新します。詳細については、「永続的なログイン」セクションを参照してください。

Epic Games Launcher

Epic Games Launcher に関連付けられているアプリケーションが開始すると、ランチャーはいくつかのパラメータを持つコマンドラインを提供します。その形式は次のとおりです。

-AUTH_LOGIN=unused -AUTH_PASSWORD=<password> -AUTH_TYPE=exchangecode -epicapp=<appid> -epicenv=Prod -EpicPortal -epicusername=<username> -epicuserid=<userid> -epiclocale=en-US

このコマンドラインでは次に挙げるフィールドが重要となります。

プロパティ
AUTH_LOGINこのフィールドにはユーザー ID が入りますが、現在は使用されていません。
AUTH_PASSWORDこのフィールドには、ログイン中にトークンとして提供される必要がある交換コード自体が入ります。
AUTH_TYPEこのタイプは「exchangecode」を読み取ります。EOS_Auth_LoginCredentials には EOS_LCT_ExchangeCode タイプを使用する必要があることを示しています。

この情報はアプリケーションによって解析され、 EOS_Auth_Credentials 構造体を介して EOS_Auth_Login に渡す必要があります。EOS_Auth_Credentials には、 Id</