连接用户数据存储

根据用户数据的存储方式不同,可用的产品功能也不同(请参阅用户数据存储方式比较)。

艾克索拉存储

如希望登录管理器产品处理所有认证逻辑,请连接艾克索拉存储。您将可以使用更多灵活的设置。

创建登录管理器项目时,默认会连接艾克索拉存储,无需额外配置步骤。如更改了默认存储类型后需要重新连接艾克索拉存储,请执行以下步骤:

  1. 在导航页上,前往用户数据库区块,然后选择存储部分。
  2. 选择艾克索拉存储,然后单击保存更改

注:
艾克索拉存储支持基于JWT标准和基于OAuth 2.0协议的用户认证。所有用户信息存储在艾克索拉侧。

PlayFab存储

如果要使用PlayFab功能与用户交互,请连接PlayFab存储。它存储以下用户数据:

  • 用户名
  • 用户邮箱地址
  • 用户密码
  • 更详细注册表单的字段(如事先进行了设置)

注:
PlayFab存储支持基于JWT标准和基于OAuth 2.0协议的用户认证。

使用PlayFab可实现以下功能:

  • 用户注册
  • 通过邮箱地址或用户名和密码进行认证
  • 通过Twitch进行认证
  • 用户密码重置
  • 用户拦截

要连接该存储:

  1. 在导航页上,前往用户数据库区块,然后选择存储部分。
  2. 选择PlayFab
  3. 游戏ID字段,输入PlayFab帐户中同一字段的值。
  4. 单击保存更改

注:
所有用户信息存储在艾克索拉侧,而用户密码只通过PlayFab进行验证。

Firebase存储

如果要使用Firebase功能与用户交互,请连接Firebase存储。它存储以下用户数据:

  • 用户名
  • 用户邮箱地址
  • 用户密码
  • 更详细注册表单的字段(如事先进行了设置)

注:
Firebase存储支持基于JWT标准和基于OAuth 2.0协议的用户认证。

要连接该存储:

  1. 在导航页上,前往用户数据库区块,然后选择存储部分。
  2. 选择Firebase
  3. API密钥字段,输入Firebase帐户中同一字段的值。
  4. 单击保存更改

注:
所有用户信息以JSON格式存储,并在每次客户端连接时实时更新。

自定义存储

如果使用自有认证系统并在自己的应用程序侧存储用户数据,请连接自定义存储。

使用自定义存储可实现以下功能:

  • 用户注册
  • 通过邮箱地址或用户名和密码进行认证
  • 通过手机号进行免密认证
  • 通过社交网络进行认证
  • 用户密码重置

注:
自定义存储支持基于JWT标准的用户认证。

要设置艾克索拉登录管理器服务器和您的应用程序(作为客户端)之间的连接:

  1. 连接自定义存储
  2. 设置对来自艾克索拉登录管理器服务器请求的处理

注:
所有用户信息存储在艾克索拉侧,而用户密码只通过自定义存储进行验证。

连接自定义存储

  1. 在导航页上,前往用户数据库区块,然后选择存储部分。
  2. 选择自定义存储
  3. 输入API请求要发送到的URL:
  4. 单击保存更改
  5. 对所设置的URL实现以如下形式响应的API:
    • 使用HTTP 200/HTTP 204指示请求成功。如果需要,可以将包含其他用户数据的JSON置于响应正文中。传输的数据将写入JWT(partner_data参数)。
    • 使用其他HTTP状态代码指示失败的请求。

注:
  • 如果希望JWT中包含数据库中的用户ID,请联系您的帐户经理。
  • 要让手机免密认证正常工作,您的API响应必须包含与客户端用户ID一致的account_id

设置对来自艾克索拉登录管理器服务器的请求进行处理

艾克索拉登录管理器服务器请求发送至在发布商帐户中指定的URL,且包含Authorization: Bearer <JWT>头。JWT使用您的项目密钥签名。

要处理请求:

  1. 验证收到的JWT
  2. 如果验证成功,解码JWT并确保其包含下表中的声明。查找并使用进行解码。

声明类型描述
expUnix TimestampJWT的过期日期和时间。JWT寿命为7分钟。
iatUnix Timestamp使用该JWT时的日期和时间。
issstring签名JWT的服务,例如https://login.xsolla.com
request_typestring常量:gateway_request
xsolla_login_project_idstring (UUID)您发布商帐户的登录管理器项目ID。

令牌负载示例:

Copy
Full screen
Small screen
{
  "exp": 1573635020,
  "iat": 1573634600,
  "iss": "https://login.xsolla.com",
  "request_type": "gateway_request",
  "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000"
}

您的进度
感谢您的反馈!

继续阅读

上次更新时间: 2022年3月22日

发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!