设置用户认证
身份认证可以让用户在Web商店中购买商品及在目录中查看专属优惠。
含身份认证的Web商店的主要功能:
- 在Web商店中提供多种授权方式。
- 为授权用户设置个性化店面和促销码。
- 符合个人数据保护与处理的区域法律法规。
- 限流及DDoS保护。
您可以选择以下认证方式之一:
- 用户ID认证:
- 简化Web商店与游戏的集成。
- 用户ID认证小组件不要求注册和密码输入,您可以使用来自游戏或社交网络的用户ID让用户登录游戏。
- 通过艾克索拉登录管理器进行认证:
- 提供丰富授权方式:社交网络、一次性验证码或链接、用户名和密码。
- 允许自定义艾克索拉登录管理器小组件。
- 可以在认证时加入年龄限制。
用户流程
- 用户前往已设置用户ID认证的Web商店。
- 用户在选中的商品下方点击立即购买或在顶部栏中点击登录。
- 随后将打开一个模态窗口,要求用户输入其ID或选择一个社交网络。

- 用户输入其用户ID并点击继续,或点击社交网络图标选择一个社交网络并在社交网络页面上完成身份认证。
- 系统检查用户是否在游戏中存在。如游戏中存在该ID或社交网络帐户的用户,则用户被授权进入Web商店。否则将显示一条错误消息。
如何获取
- 在您的应用程序侧,实现对用户验证Webhook的处理。
收到Webhook后,应用程序应执行以下操作:
- 根据Webhook中传入的ID搜索用户。
- 根据结果发送以下状态代码之一:
- 如找到了该用户,发送200 HTTP代码和Webhook回应
- 如未找到该用户,发送404 HTTP代码
- 发送用户属性。
- 在发布商帐户中,前往建站器部分。
- 在网站栏中单击打开建站器。
- 前往登录管理器设置区块。
- 选择用户ID选项。
- 在下拉列表中,选择新建登录管理器。
- 输入接收Webhook的URL。
https://
开头。使用http://
会导致错误。- 设置通过应用程序连接的社交网络进行认证(可选):
- 在发布商帐户中打开您的项目,然后前往登录管理器部分。
- 在网站栏中单击配置。
- 前往身份认证区块,然后选择社交网络登录。
- 要设置社交网络,请前往社交网络版块,单击标题右侧的⚙图标,然后选择连接。
如何获取
- 在网站的建站器中,前往登录管理器设置区块。
- 选择艾克索拉登录管理器授权方式。
- 在下拉菜单列表中,选择新建登录管理器。
随后将自动创建使用通过邮箱和密码进行用户认证的登录管理器项目。对于创建的登录管理器项目,Web商店地址将指定为以下情况下将用户重定向到的回调URL:
- 认证成功后
- 邮箱验证成功后
- 密码重置后
- 认证失败时
更改Web商店的域名时,登录管理器项目设置中的回调URL将自动更改。
- 从模态窗口中前往登录管理器项目设置,或在艾克索拉登录管理器区块中单击设置认证方法。
对于Web商店中的用户认证,请设置应用程序中认证使用的相同社交网络。如果未设置社交网络,将使用通过邮箱地址和密码进行用户认证。
在Web商店中设置通过社交网络进行用户认证时,请使用应用程序中认证使用的相同应用程序ID和应用程序密钥。

- 连接用户数据存储。
根据用户数据的存储方式不同,可用的产品功能也不同(请参阅用户数据存储方式比较)。
艾克索拉存储
如希望登录管理器产品处理所有认证逻辑,请连接艾克索拉存储。您将可以使用更多灵活的设置。
创建登录管理器项目时,默认会连接艾克索拉存储,无需额外配置步骤。如更改了默认存储类型后需要重新连接艾克索拉存储,请执行以下步骤:
- 在导航页上,前往用户数据库区块,然后选择存储部分。
- 选择艾克索拉存储,然后单击保存更改。
PlayFab存储
如果要使用PlayFab功能与用户交互,请连接PlayFab存储。它存储以下用户数据:
- 用户名
- 用户邮箱地址
- 用户密码
- 更详细注册表单的字段(如事先进行了设置)
使用PlayFab可实现以下功能:
- 用户注册
- 通过邮箱地址或用户名和密码进行认证
- 通过Twitch进行认证
- 用户密码重置
- 用户拦截
要连接该存储:
- 在导航页上,前往用户数据库区块,然后选择存储部分。
- 选择PlayFab。
- 在游戏ID字段,输入PlayFab帐户中同一字段的值。
- 单击保存更改。
Firebase存储
如果要使用Firebase功能与用户交互,请连接Firebase存储。它存储以下用户数据:
- 用户名
- 用户邮箱地址
- 用户密码
- 更详细注册表单的字段(如事先进行了设置)
要连接该存储:
- 在导航页上,前往用户数据库区块,然后选择存储部分。
- 选择Firebase。
- 在API密钥字段,输入Firebase帐户中同一字段的值。
- 单击保存更改。
自定义存储
如果使用自有认证系统并在自己的应用程序侧存储用户数据,请连接自定义存储。
使用自定义存储可实现以下功能:
- 用户注册
- 通过邮箱地址或用户名和密码进行认证
- 通过手机号进行免密认证
- 通过社交网络进行认证
- 用户密码重置
要设置艾克索拉登录管理器服务器和您的应用程序(作为客户端)之间的连接:
连接自定义存储
- 在导航页上,前往用户数据库区块,然后选择存储部分。
- 选择自定义存储。
- 输入API请求要发送到的URL:
- 单击保存更改。
- 对所设置的URL实现以如下形式响应的API:
- 使用HTTP 200/HTTP 204指示请求成功。如果需要,可以将包含其他用户数据的JSON置于响应正文中。传输的数据将写入JWT(
partner_data
参数)。 - 使用其他HTTP状态代码指示失败的请求。
- 使用HTTP 200/HTTP 204指示请求成功。如果需要,可以将包含其他用户数据的JSON置于响应正文中。传输的数据将写入JWT(
- 如果希望JWT中包含数据库中的用户ID,请联系您的帐户经理。
- 要让手机免密认证正常工作,您的API响应必须包含与客户端用户ID一致的
account_id
。
设置对来自艾克索拉登录管理器服务器的请求进行处理
艾克索拉登录管理器服务器请求发送至在发布商帐户中指定的URL,且包含Authorization: Bearer <JWT>
头。JWT使用您的项目密钥签名。
要处理请求:
声明 | 类型 | 描述 |
---|---|---|
exp | Unix Timestamp | JWT的过期日期和时间。JWT寿命为7分钟。 |
iat | Unix Timestamp | 使用该JWT时的日期和时间。 |
iss | string | 签名JWT的服务,例如https://login.xsolla.com 。 |
request_type | string | 常量:gateway_request 。 |
xsolla_login_project_id | string (UUID) | 您发布商帐户的登录管理器项目ID。 |
令牌负载示例:
- json
{
"exp": 1573635020,
"iat": 1573634600,
"iss": "https://login.xsolla.com",
"request_type": "gateway_request",
"xsolla_login_project_id": "00000000-0000-0000-0000-000000000000"
}
下一步
有用链接
本文对您的有帮助吗?
为此页面评分
不想回答
感谢您的反馈!
发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。