開始使用¶
網頁登入 讓使用者可以在社群和區塊鏈平台等各種網站上使用 IdP 進行登入。請參閱網頁登入支援的 IdP。
透過使用 網頁登入 API,您可以在外部網站(例如遊戲開發者營運的社群網站)而非應用程式內為使用者實現 IdP 登入功能。目前的網頁登入 API 整合了之前的網頁登入 v1 和 v2 版本。
Warning
- 不再支援呼叫版本 v2 或 v1 的網頁登入 API。若要獲得持續支援,請使用整合的網頁登入 API。
- 整合的網頁登入 API 不區分版本。
Note
要使用網頁登入 API,必須在 Hive 控制台中完成相關設定。詳細資訊請參閱控制台指南中身份驗證 > 登入設定下的網頁登入支援的 IdP。
前置條件¶
本節根據網頁登入的操作方法描述相應的前置條件。
使用網頁登入主要有兩種方式:使用遊戲 PlayerID 作為識別碼進行登入和透過產生獨立的使用者識別碼進行登入。
使用遊戲 PlayerID 作為識別碼的網頁登入¶
使用遊戲 PlayerID 作為識別碼的網頁登入操作方法如下:
- 對於沒有 SDK 整合的網站,如區塊鏈,使用 PlayerID 作為登入的使用者識別碼。
- 首次關聯 IdP 時,會在網頁登入過程中直接產生 PlayerID。
- 首次 IdP 關聯必須僅在遊戲內進行。否則可能會發生帳戶衝突。
- 使用 XPLA Games Wallet 時,SMS 驗證後會顯示登入介面。
使用遊戲 PlayerID 作為識別碼的網頁登入前置條件如下:
-
在控制台 > 應用程式中心建立 AppID
要使用網頁登入,請先在控制台的應用程式中心建立 AppID。請參閱註冊 AppID。 -
在控制台 > 身份驗證中設定登入
建立 AppID 後,選擇用於網頁登入的 IdP,並在身份驗證 > 登入設定中註冊驗證金鑰。網頁登入不支援訪客登入。
註冊驗證金鑰所需的設定如下。- 註冊註冊選項:選擇 Hive Web Login 作為網頁登入的 IdP 時,可以設定**註冊選項**。

- 如果選擇了 啟用註冊:可以透過網頁登入進行首次 IdP 關聯,但可能會發生帳戶衝突。
- 如果選擇了 停用註冊:首次 IdP 關聯只能在遊戲內進行。
-
註冊重新導向 URI:註冊網頁登入完成後要重新導向到的目標網址。最多可以註冊 5 個地址。
Note
帳戶衝突發生在透過網頁登入首次關聯 IdP 並產生 PlayerID 後,使用 Hive SDK 登入遊戲並嘗試在遊戲設定檔中關聯其他 IdP 的情況下。在這種情況下,由於已經透過網頁登入建立了 PlayerID,系統會提示使用者選擇要使用的帳戶。
- 註冊註冊選項:選擇 Hive Web Login 作為網頁登入的 IdP 時,可以設定**註冊選項**。
-
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,建立服務 ID,並在 Sign in with Apple 設定中註冊回傳 URL。詳細資訊請參閱 Apple Developer 文件。
- 要註冊的重新導向 URI
網頁登入 API 使用方法¶
完成上述前置條件後,您可以透過呼叫以下 API 來實現網頁登入:
網頁登入 API 的使用方法根據「網頁登入 AppID」的用途而有所不同。
當「網頁登入 AppID」的用途為「社群」或「網站」時¶
如果在 Hive 控制台的應用程式中心 > AppID 管理 > 註冊網頁登入 AppID中選擇「網頁登入 AppID」的用途為社群或網站,遊戲開發者將按以下方式使用網頁登入 API。
- 呼叫登入頁面
- 使用使用者驗證和使用者資訊取得 API 的回應值,特別是 **IdP 識別碼(
idp_index、idp_user_id)**作為使用者帳戶識別碼,並將其儲存在開發者的資料庫中
之所以採用上述使用方式,是因為如果首先在社群或網站而非遊戲中進行 IdP 登入,則不會產生遊戲中使用的使用者識別碼 PlayerID。透過使用 IdP 識別碼而非 PlayerID 作為使用者帳戶識別碼,可以防止**帳戶衝突**。
但是,當使用者存取遊戲應用程式並登入時,會產生遊戲使用者識別碼 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 識別碼。