はじめに¶
ウェブログイン では、コミュニティやブロックチェーンプラットフォームなど、さまざまなウェブサイトでIdPを使用してログインできます。ウェブログインでサポートされるIdPを参照してください。
ウェブログイン APIを使用することで、アプリ内ではなく外部ウェブサイト(ゲーム開発者が運営するコミュニティサイトなど)でユーザーのIdPログインを実装できます。現在のウェブログインAPIは、以前のウェブログインv1およびv2バージョンの両方を統合しています。
Warning
- バージョンv2またはv1によるウェブログインAPIの呼び出しはサポートされなくなりました。継続的なサポートを受けるには、統合ウェブログインAPIを使用してください。
- 統合ウェブログインAPIはバージョンを区別しません。
Note
ウェブログインAPIを使用するには、Hiveコンソールで関連設定を完了する必要があります。詳細については、コンソールガイドの認証 > ログイン設定にあるウェブログインでサポートされるIdPを参照してください。
前提条件¶
このセクションでは、ウェブログインの動作方法に応じた前提条件について説明します。
ウェブログインを使用する主な方法は2つあります:ゲームPlayerIDを識別子として使用してログインと別のユーザー識別子を生成してログインです。
ゲームPlayerIDを識別子として使用するウェブログイン¶
ゲームPlayerIDを識別子として使用するウェブログインの動作方法は以下の通りです:
- ブロックチェーンなどのSDK統合のないウェブサイトでは、PlayerIDがログイン用のユーザー識別子として使用されます。
- IdPを初回連携する際、ウェブログイン時に直接PlayerIDが生成されます。
- 初回IdP連携はゲーム内でのみ実行する必要があります。そうしないと、アカウントの競合が発生する可能性があります。
- XPLA Games Walletを使用する場合、SMS認証後にログイン画面が表示されます。
ゲームPlayerIDを識別子として使用するウェブログインの前提条件は以下の通りです:
-
コンソール > アプリセンターでAppIDを作成
ウェブログインを使用するには、まずコンソールのアプリセンターでAppIDを作成します。AppIDの登録を参照してください。 -
コンソール > 認証でログイン設定
AppIDを作成した後、ウェブログインで使用するIdPを選択し、認証 > ログイン設定で認証キーを登録します。ウェブログインではゲストログインはサポートされません。
認証キーを登録するために必要な設定は以下の通りです。- サインアップオプションの登録:ウェブログインのIdPとして**Hive Web Login**を選択する際、**サインアップオプション**を設定できます。

- サインアップ有効 が選択された場合:ウェブログイン経由での初回IdP連携が可能ですが、アカウント競合が発生する可能性があります。
- サインアップ無効 が選択された場合:初回IdP連携はゲーム内でのみ可能です。
-
リダイレクトURIの登録:ウェブログイン完了後にリダイレクトする宛先ウェブアドレスを登録します。最大5つのアドレスを登録できます。
Note
アカウント競合は、ウェブログイン経由でIdPが初回連携されてPlayerIDが生成された後、Hive SDKでログインしてゲームプロフィールで追加のIdP連携を試行した場合に発生します。この場合、ウェブログイン経由でPlayerIDがすでに作成されているため、ユーザーにどのアカウントを使用するかの選択が求められます。
- サインアップオプションの登録:ウェブログインのIdPとして**Hive Web Login**を選択する際、**サインアップオプション**を設定できます。
-
IdPコンソール設定
使用するIdPコンソールで、リダイレクトURIをウェブログインドメインアドレスとして登録します。このプロセスは、ウェブログインの動作方法に関係なく共通です。詳細については、IdPコンソールでのリダイレクトURI登録を参照してください。
別のユーザー識別子を生成するウェブログイン¶
別のユーザー識別子を生成するウェブログインの動作方法は以下の通りです:
- IdPを初回連携する際、ユーザー識別子がプロダクトによって生成され、アカウント競合を防止します。
- ユーザー識別子はプロダクトによって生成されるため、さまざまな場所で使用でき、アカウント競合が発生しません。ゲームで生成されたPlayerIDと連携するには、サーバーAPIを使用します。
別のユーザー識別子を生成するウェブログインの前提条件は以下の通りです:
-
アプリセンターでAppIDを作成
ウェブログインを使用するには、アプリセンターでAppIDを作成します。アプリセンターAppIDの登録コンソールガイドを参照してください。 -
コンソール > 認証でログイン設定
AppIDを作成した後、ウェブログインをサポートするIdPを選択し、認証 > ログイン設定で認証キーを登録します。ウェブログインではゲストログインはサポートされません。 -
IdPコンソール設定
使用するIdPコンソールで、リダイレクトURIをウェブログインドメインアドレスとして登録します。このプロセスは、ウェブログインの動作方法に関係なく共通です。詳細については、IdPコンソールでのリダイレクトURI登録を参照してください。
IdPコンソールでのリダイレクトURI登録¶
認証 > ログイン設定でウェブログインタイプを選択し認証キーを登録した後、GoogleやAppleなどのIdPコンソールで直接リダイレクトURIをウェブログインドメインアドレスとして登録する必要があります。
Google¶
Google Cloud Consoleにアクセスし、プロジェクトでOAuth クライアントIDを作成してリダイレクトURIを登録します。詳細については、Google Developersドキュメントを参照してください。
- 登録するリダイレクトURI
Warning
Google Cloud ConsoleのOAuth同意画面でwithhive.comが承認済みドメインとして自動登録された場合、機密性の高いスコープや制限されたスコープを追加しないでください。Hiveはwithhive.comのドメイン所有権を提供しません。
Facebook¶
Meta for Developersにアクセスし、アプリでFacebookログイン設定を追加してリダイレクトURIを登録します。詳細については、Meta Developersドキュメントを参照してください。
- 登録するリダイレクトURI
Apple¶
Apple Developer Consoleにアクセスし、Services IDsを作成し、Sign in with Apple設定でReturn URLsを登録します。詳細については、Apple Developerドキュメントを参照してください。
- 登録するリダイレクトURI
ウェブログインAPIの使用方法¶
上記の前提条件を完了した後、以下のAPIを呼び出してウェブログインを実装できます:
ウェブログインAPIの使用方法は、'ウェブログインAppID'の用途によって異なります。
'ウェブログインAppID'の用途が'コミュニティ'または'ウェブサイト'の場合¶
Hiveコンソールのアプリセンター > AppID管理 > ウェブログインAppID登録で'ウェブログインAppID'の用途をコミュニティまたはウェブサイトとして選択した場合、ゲーム開発者は以下のようにウェブログインAPIを使用します。
- ログインページの呼び出し
- ユーザー検証とユーザー情報取得 APIのレスポンス値、特に**IdP識別子(
idp_index、idp_user_id)**をユーザーアカウント識別子として使用し、開発者のデータベースに保存
上記のように使用する理由は、ゲーム内ではなくコミュニティやウェブサイトで最初にIdPログインを行った場合、ゲームで使用されるユーザー識別子であるPlayerIDが生成されないためです。PlayerIDの代わりにIdP識別子をユーザーアカウント識別子として使用することで、**アカウント競合**を防ぐことができます。
ただし、ユーザーがゲームアプリにアクセスしてログインする際、ゲームユーザー識別子であるPlayerIDが生成されます。したがって、検証とユーザー情報取得 APIのuser_infoのレスポンス値のPlayerIDまたは認証APIによるユーザー情報取得 APIのレスポンス値のPlayerIDと区別して、ユーザーアカウント識別子として使用できます。
Note
アカウント競合は以下のような状況で発生します。
- ウェブログインでログインして初回IdPとPlayerIDを作成
- Hive SDKを使用してゲームにログインした後、ゲームプロフィールで追加のIdP統合を接続
- ウェブログインでPlayerIDがすでに作成されているため、アカウント競合が発生し、ユーザーにアカウント選択を求めるプロンプトが表示
'ウェブログインAppID'の用途が'ブロックチェーン'の場合¶
Hiveコンソールのアプリセンター > AppID管理 > ウェブログインAppID登録で'ウェブログインAppID'の用途として'ブロックチェーン'を選択した場合、ゲーム開発者は以下のようにウェブログインAPIを使用します。
- ログインページ API呼び出し
- ログイン検証とユーザー情報取得 API呼び出しとレスポンス値の**PlayerID**によるユーザーアカウント識別(IdP識別子などの別の識別子を取得・管理する必要がありません)
ブロックチェーンの場合、ログインページ APIとログイン検証とユーザー情報取得 APIを呼び出すとPlayerIDが生成されるため、コミュニティやウェブサイトのように別のIdP識別子を使用する必要がありません。