Unity专用企业级SDK / 通过custom ID进行认证
  返回文档

Unity专用企业级SDK

通过custom ID进行认证

您可以通过custom ID(在您的服务器上生成的用户ID)在艾克索拉侧认证用户身份。

该认证方案允许:

要通过custom ID来认证用户,需在您的应用程序后端实现通过自定义ID进行认证API调用。该调用返回一个用户JSON Web令牌(JWT),可在支付和管理物品库的SDK方法中用作授权令牌。

注:
用户首次使用ID完成身份认证后,将自动在艾克索拉侧创建一个新帐户。

要结束活动用户会话,请使用OAuthLogout SDK方法。

详解

通过方法详解文档了解高级设置。

如何使用自有授权系统

您可以将SDK与自有授权系统集成。方法是实现通过自定义ID(在您的服务器上生成的用户ID)来识别用户身份,以打开游戏内商店、进行支付及管理物品库。

使用自有授权系统与艾克索拉服务器的交互过程:

  1. 您的客户端向您的服务器发送认证请求。
  2. 您的服务器授权用户并向艾克索拉服务器发送请求以接收用户JSON Web令牌(JWT),并传入自定义ID。
  3. 艾克索拉服务器返回用户JWT。
  4. 您的服务器将用户JWT传给客户端。
  5. SDK方法使用收到的用户JWT而不是授权令牌来打开游戏内商店、进行支付及管理物品库。

要将自有授权系统与艾克索拉产品配合使用:

  1. 在您的发布商帐户中设置服务器OAuth 2.0客户端
  2. 实现获取服务器JWT
  3. 实现获取用户JWT
  4. 实现使用用户JWT与游戏内商店、购买项和物品库交互的逻辑。

注:
如果使用PlayFab或Firebase授权系统,请使用艾克索拉用于BaaS的现成扩展来获取用户JWT。

设置服务器OAuth 2.0客户端

  1. 发布商帐户中打开您的项目,然后前往登录管理器部分。
  2. 在登录管理器项目面板中单击配置
  3. 前往安全性区块,然后选择OAuth 2.0部分。
  4. 单击添加OAuth 2.0
  5. 指定OAuth 2.0重定向URI
  6. 勾选服务器(服务器对服务器连接)复选框。
  7. 单击连接
  8. 复制并保存客户端ID和密钥。

获取服务器JWT

在应用程序的后端,实现一个方法通过生成JWT API调用来获取服务器JWT。请求必须包含以下参数:

注:
服务器JWT有效期是59分钟。

获取用户JWT

在应用程序的后端,实现一个方法使用通过自定义ID进行认证API调用获取用户JWT。请求必须包含X-Server-Authorization: <server_JWT>头,其中<server_JWT>是在上一步中获得的服务器JWT。

注:
用户JWT有效期是24小时。如要更改该有效期,请联系您的帐户经理或发送邮件至integration@xsolla.com

使用用户JWT

使用SDK方法打开游戏内商店、进行支付及管理物品库。使用SDK方法时,请将用户JWT传入Token.Instance属性。

以下教程包含该令牌的使用示例:

实现用户JWT过期后重新获取的逻辑。建议在后台获取新令牌,这样用户就无须重新登录应用程序。

本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
隐藏

有用链接

上次更新时间: 2023年10月10日

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

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