PlayFab存储

如果使用PlayFab存储,可实现:

注:
您可以使用PlayFab方法向用户发送电子简讯,例如促销活动或更新等。

交互过程

您可以使用艾克索拉登录管理器小组件或您的应用程序作为客户端。客户端与艾克索拉登录管理器服务器之间的交互流程如下:

  1. 客户端向艾克索拉登录管理器服务器发送请求。请求格式见JWTOAuth 2.0Password端点的说明。
  2. 艾克索拉登录管理器服务器向PlayFab发送请求。
  3. 艾克索拉登录管理器服务器处理PlayFab的响应并将结果返回给客户端。
  4. 客户端处理响应。

注:
用户邮箱地址和社交媒体数据存储在艾克索拉侧。密码和PlayFab收集的额外数据不在艾克索拉侧存储。

PlayFab中的用户注册

用户注册遵循此流程。您可以设置发送给用户的帐户确认邮件来结束注册流程。

用户注册流程

  1. 客户端向艾克索拉登录管理器服务器发送Register new user请求。
  2. 艾克索拉登录管理器服务器发送一个注册请求。
  3. 用户数据写入艾克索拉数据库中。
  4. 艾克索拉登录管理器服务器向PlayFab发送更改用户数据的请求。
  5. 如果设置了帐户确认
    • 如果使用Login API调用集成该解决方案,则认为注册完成。
    • 如果使用登录管理器小组件集成该解决方案,则用户被重定向到包含以下消息的页面:帐户确认邮件已发送至{email address}
    如果未设置帐户确认,则用户在注册后自动登录。

PlayFab中的用户帐户确认

要设置帐户确认邮件发送,请完成下列步骤:
  1. 按照说明在PlayFab中设置您的项目。
  2. 确保已完成Requirements模块中的Create an email templateCreate a rule to send an email when a contact email is updated步骤。
  3. 联系您的客户成功经理或发送邮件至csm@xsolla.com
注:
对于使用PlayFab的项目,已注册用户可以在未确认邮箱地址的情况下登录。

通过用户邮箱地址和密码进行认证

有两种通过用户邮箱地址和密码进行认证的方式:基于JWT标准的认证基于OAuth 2.0协议的认证

注:
如果艾克索拉存储中没有该用户数据,则:
  • 在其中写入用户数据。
  • 艾克索拉登录管理器发送请求更改PlayFab中的数据。

基于JWT标准的认证过程

  1. 客户端向艾克索拉登录管理器服务器发送Auth by username and password请求。
  2. 艾克索拉登录管理器服务器将该认证请求发送给PlayFab。
  3. 艾克索拉登录管理器服务器生成用户JWT,其中
    • PlayFab请求响应中的PlayFabId值写入external_account_id声明。
    • PlayFab请求响应中的SessionTicket值写入session_ticket声明。
    • PlayFab请求响应中的EntityToken值写入entity_tokenentity_identity_type声明。
  4. 用户被重定向至包含一个查询参数tokenlogin_url。用户JWT写入token参数中。

基于OAuth 2.0协议的认证过程

  1. 客户端向艾克索拉登录管理器服务器发送包含redirect_uri参数的Auth by username and password请求。
  2. 艾克索拉登录管理器服务器将该认证请求发送给PlayFab。
  3. 艾克索拉登录管理器服务器返回在查询参数中包含codelogin_url和所传的redirect_uri参数。
  4. 用户被重定向至包含查询参数coderedirect_uri
  5. 客户端向艾克索拉登录管理器服务器发送Generate JWT请求,用收到的code交换用户JWT。
  6. 艾克索拉登录管理器服务器生成用户JWT,其中:
    • PlayFab请求响应中的PlayFabId值写入external_account_id声明。
    • PlayFab请求响应中的SessionTicket值写入session_ticket声明(如果Auth by Username and Password请求中传入了scope=playfab)。
    • PlayFab请求响应中的EntityToken值写入entity_tokenentity_identity_type声明。

通过Twitch进行身份验证

需在PlayFab中设置社交网络以通过Twitch认证用户。有两种通过Twitch进行认证的方式──基于JWT标准和基于OAuth 2.0协议的认证。

注:
如果PlayFab中的用户记录关联了该Twitch帐户,则视作同一个帐户。

基于JWT标准的认证过程

  1. 客户端向艾克索拉登录管理器服务器发送Auth via social network请求。
  2. 艾克索拉登录管理器服务器将该认证请求发送给PlayFab。
  3. 用户数据写入艾克索拉数据库。
  4. 艾克索拉登录管理器服务器生成用户JWT,其中
    • PlayFab请求响应中的PlayFabId值写入external_account_id声明。
    • PlayFab请求响应中的SessionTicket值写入session_ticket声明。
    • PlayFab请求响应中的EntityToken值写入entity_tokenentity_identity_type声明。
  5. 用户被重定向至包含一个查询参数tokenlogin_url。用户JWT写入token参数中。

基于OAuth 2.0协议的认证过程

  1. 客户端向艾克索拉登录管理器服务器发送包含redirect_uri参数的Auth via social network请求。
  2. 艾克索拉登录管理器服务器将该认证请求发送给PlayFab。
  3. 用户数据写入艾克索拉数据库中。
  4. 艾克索拉登录管理器服务器发送请求更改PlayFab中的数据。
  5. 用户被重定向至包含查询参数coderedirect_uri
  6. 客户端向艾克索拉登录管理器服务器发送Generate JWT请求,用收到的code交换用户JWT。
  7. 艾克索拉登录管理器服务器生成用户JWT,其中:
    • PlayFab请求响应中的PlayFabId值写入external_account_id声明。
    • PlayFab请求响应中的SessionTicket值写入session_ticket声明(如果Twitch认证请求中传入了scope=playfab)。
    • PlayFab请求响应中的EntityToken值写入entity_tokenentity_identity_type声明。

设置Twitch认证

  1. 创建Twitch帐户并获取Twitch Client ID
  2. 前往发布商帐户,然后打开您的项目 > 登录管理器
  3. 在所需的登录管理器项目面板中单击配置
  4. 前往身份认证区块,然后选择社交网络登录部分。
  5. 前往Twitch社交网络面板中单击⚙图标,然后选择设置
  6. 应用程序ID字段中输入您的Twitch Client ID
  7. 如需要,更改其他设置。
  8. 单击连接
  9. 在PlayFab帐户中设置Twitch
  10. 如果已通过Login API调用集成了登录管理器产品:
    1. 获取通过Twitch进行认证的链接。方法是使用社交网络认证调用(JWTOAuth 2.0)。
    2. 将收到的链接放在应用程序的界面上。

用户密码重置

用户密码重置流程如下:

  1. 客户端将向艾克索拉登录管理器服务器发送Reset password请求。
  2. 艾克索拉登录管理器服务器将该密码重置请求发送给PlayFab。
  3. 新密码写入PlayFab中。

用户拦截

您可以通过发布商帐户拦截用户。拦截的用户无法进行认证。拦截会有记录且记录仅保存在艾克索拉侧。

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

继续阅读

上次更新时间: 2024年8月30日

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

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