跳转至

开始使用

网页登录 允许用户在社区和区块链平台等各种网站上使用 IdP 进行登录。请参阅网页登录支持的 IdP

通过使用 网页登录 API,您可以在外部网站(例如游戏开发者运营的社区网站)而非应用内为用户实现 IdP 登录功能。当前的网页登录 API 整合了之前的网页登录 v1 和 v2 版本。

Warning
Note

要使用网页登录 API,必须在 Hive 控制台中完成相关设置。详细信息请参阅控制台指南中身份验证 > 登录设置下的网页登录支持的 IdP


前提条件

本节根据网页登录的操作方法描述相应的前提条件。

使用网页登录主要有两种方式:使用游戏 PlayerID 作为标识符进行登录通过生成独立的用户标识符进行登录

使用游戏 PlayerID 作为标识符的网页登录

使用游戏 PlayerID 作为标识符的网页登录操作方法如下:

  • 对于没有 SDK 集成的网站,如区块链,使用 PlayerID 作为登录的用户标识符。
  • 首次关联 IdP 时,会在网页登录过程中直接生成 PlayerID。
  • 首次 IdP 关联必须仅在游戏内进行。否则可能会发生账户冲突。
  • 使用 XPLA Games Wallet 时,SMS 认证后会显示登录界面。


使用游戏 PlayerID 作为标识符的网页登录前提条件如下:

  1. 在控制台 > 应用中心创建 AppID
    要使用网页登录,请先在控制台的应用中心创建 AppID。请参阅注册 AppID

  2. 在控制台 > 身份验证中设置登录
    创建 AppID 后,选择用于网页登录的 IdP,并在身份验证 > 登录设置中注册认证密钥。网页登录不支持游客登录。
    注册认证密钥所需的设置如下。

    • 注册注册选项:选择 Hive Web Login 作为网页登录的 IdP 时,可以设置**注册选项**。
      • 如果选择了**启用注册**:可以通过网页登录进行首次 IdP 关联,但可能会发生账户冲突。
      • 如果选择了**禁用注册**:首次 IdP 关联只能在游戏内进行。
    • 注册重定向 URI:注册网页登录完成后要重定向到的目标网址。最多可以注册 5 个地址。

      Note

      账户冲突发生在通过网页登录首次关联 IdP 并生成 PlayerID 后,使用 Hive SDK 登录游戏并尝试在游戏配置文件中关联其他 IdP 的情况下。在这种情况下,由于已经通过网页登录创建了 PlayerID,系统会提示用户选择要使用的账户。

  3. IdP 控制台设置
    在将要使用的 IdP 控制台中将重定向 URI 注册为网页登录域名地址。无论网页登录操作方法如何,此过程都是通用的。详细信息请参阅在 IdP 控制台注册重定向 URI

通过生成独立用户标识符的网页登录

通过生成独立用户标识符的网页登录操作方法如下:

  • 首次关联 IdP 时,用户标识符由产品生成,防止账户冲突。
  • 由于用户标识符由产品生成,因此可以在各种场所使用,不会发生账户冲突。要关联游戏中生成的 PlayerID,请使用服务器 API。


通过生成独立用户标识符的网页登录前提条件如下:

  1. 在应用中心创建 AppID
    要使用网页登录,请在应用中心创建 AppID。请参阅应用中心注册 AppID控制台指南。

  2. 在控制台 > 身份验证中设置登录
    创建 AppID 后,选择支持网页登录的 IdP,并在身份验证 > 登录设置中注册认证密钥。网页登录不支持游客登录。

    • 注册注册选项:选择 Hive Web Login 作为网页登录的 IdP 时,可以设置**注册选项**。

      • 如果选择了**启用注册**:可以通过网页登录进行首次 IdP 关联。
      • 如果选择了**禁用注册**:首次 IdP 关联只能在游戏内进行。
    • 注册重定向 URI:注册网页登录完成后要重定向到的目标网址。最多可以注册 5 个地址。

  3. IdP 控制台设置
    在将要使用的 IdP 控制台中将重定向 URI 注册为网页登录域名地址。无论网页登录操作方法如何,此过程都是通用的。详细信息请参阅在 IdP 控制台注册重定向 URI

在 IdP 控制台注册重定向 URI

身份验证 > 登录设置中选择网页登录类型并注册认证密钥后,必须在 Google 或 Apple 等 IdP 控制台中直接将重定向 URI 注册为网页登录域名地址。

Google

访问 Google Cloud Console,在您的项目中创建 OAuth 客户端 ID 并注册重定向 URI。详细信息请参阅 Google Developers 文档

Warning

如果在 Google Cloud Console 的 OAuth 同意屏幕中自动注册了 withhive.com 作为已批准的域名,请不要添加敏感或受限范围。Hive 不提供 withhive.com 的域名所有权。

Facebook

访问 Meta for Developers,在您的应用中添加 Facebook 登录设置并注册重定向 URI。详细信息请参阅 Meta Developers 文档

Apple

访问 Apple Developer Console,创建服务 ID,并在 Sign in with Apple 设置中注册返回 URL。详细信息请参阅 Apple Developer 文档


网页登录 API 使用方法

完成上述前提条件后,您可以通过调用以下 API 来实现网页登录:


网页登录 API 的使用方法根据"网页登录 AppID"的用途而有所不同。

当"网页登录 AppID"的用途为"社区"或"网站"时

如果在 Hive 控制台的应用中心 > AppID 管理 > 注册网页登录 AppID中选择"网页登录 AppID"的用途为社区或网站,游戏开发者将按以下方式使用网页登录 API。

  1. 调用登录页面
  2. 使用用户验证和用户信息获取 API 的响应值,特别是 **IdP 标识符(idp_indexidp_user_id)**作为用户账户标识符,并将其存储在开发者的数据库中

之所以采用上述使用方式,是因为如果首先在社区或网站而非游戏中进行 IdP 登录,则不会生成游戏中使用的用户标识符 PlayerID。通过使用 IdP 标识符而非 PlayerID 作为用户账户标识符,可以防止**账户冲突**。

但是,当用户访问游戏应用并登录时,会生成游戏用户标识符 PlayerID。因此,可以将其作为用户账户标识符使用,与验证和用户信息获取 API 的 user_info 响应值中的 PlayerID 或通过认证 API 获取用户信息 API 响应值中的 PlayerID 区分开来。

Note

账户冲突在以下情况下发生。

  1. 通过网页登录进行登录,创建首次 IdP 和 PlayerID
  2. 使用 Hive SDK 登录游戏后,在游戏配置文件中连接其他 IdP 集成
  3. 由于已经通过网页登录创建了 PlayerID,发生账户冲突,提示用户选择账户

"网页登录 AppID"的用途为"区块链"时

在 Hive 控制台的应用中心 > AppID 管理 > 网页登录 AppID 注册中选择"网页登录 AppID"的用途为"区块链"时,游戏开发者按以下方式使用网页登录 API。

  1. 登录页面 API 调用
  2. 登录验证和用户信息获取 API 调用,响应值中的 PlayerID 可用于用户账户识别(无需获取和管理 IdP 标识符等单独的标识符)

在区块链的情况下,调用登录页面 API 和登录验证和用户信息获取 API 会生成 PlayerID,因此无需像社区或网站那样使用单独的 IdP 标识符。