如何集成通过艾克索拉帐户进行用户认证
运行机制
您可以在艾克索拉钱包中添加通过艾克索拉帐户进行用户认证。
注:
上图显示了登录小组件的方案之一。您可以自定义小组件。
用户场景
您可以实现以下用户场景之一:
- 在登录小组件中单击通过艾克索拉登录按钮在模态窗口中打开艾克索拉钱包身份认证页面:
- 在登录小组件中单击通过艾克索拉登录按钮后跳转到艾克索拉钱包身份认证页面:
- 单击网站上的按钮后在弹窗中跳转到艾克索拉钱包身份认证页面:
如何获取
要将艾克索拉认证作为社交网络进行集成:
创建艾克索拉帐户OAuth 2.0客户端
要创建艾克索拉帐户OAuth 2.0客户端:- 在发布商帐户中创建一个项目。
- 在发布商帐户中设置登录管理器项目。
- 联系您的客户成功经理或发送邮件至csm@xsolla.com并提供以下信息:
参数 | 类型 | 示例 | 描述 |
---|---|---|---|
Redirect URIs | 字符串数组 | [“https://example.com/oauth/callback”, “http://localhost:3000/oauth/callback”] | 可用于在用户通过艾克索拉帐户认证后将其重定向到的URI地址列表。 |
Audience | 字符串 | “https://example.com” | 用户可通过艾克索拉帐户登录的域名。 |
Scope | 字符串数组 | [“email”, “transactions”] | 艾克索拉帐户中的权限列表。 |
- 艾克索拉集成团队将为您创建一个艾克索拉帐户OAuth 2.0客户端并为您提供其ID和密钥。这些数据在获取用户授权令牌时需用到。
集成登录管理器小组件
请使用SDK集成登录管理器小组件。将艾克索拉作为社交网络启用
- 在发布商帐户中打开您的项目,然后前往登录管理器部分。
- 在登录管理器项目面板中单击配置。
- 前往身份认证部分,然后选择社交网络登录部分。
- 在社交网络列表中选择艾克索拉。
- 单击⚙图标,然后选择设置。
- 填写以下字段:
- 应用程序ID — 从艾克索拉收到的艾克索拉帐户OAuth 2.0客户端ID。
- 应用程序密钥 — 从艾克索拉收到的艾克索拉帐户OAuth 2.0密钥。
- 您的网站链接 — 发送用授权代码交换用户授权令牌请求的网站。请指定创建艾克索拉帐户OAuth 2.0客户端时在Audience参数中指定的同一个URL地址。
- 单击Connect。
- 设置以下用户场景之一:
- 在登录小组件中单击通过艾克索拉登录按钮后跳转到艾克索拉钱包身份认证页面(默认):
- 前往身份认证部分并选择回调URL部分。
- 在回调URL字段中,输入用户认证后要跳转到的页面的URL地址。
- 在登录小组件代码的
callbackUrl
参数中,传入用户认证后应跳转到的页面的URL地址。
- 在登录小组件中单击通过艾克索拉登录按钮后跳转到艾克索拉钱包身份认证页面(默认):
小组件代码示例:
Copy
- javascript
import { Widget } from '@xsolla/login-sdk';
const xl = new Widget({
projectId: '[Login ID]',
preferredLocale: 'en_US',
callbackUrl: '[Your Callback URL]',
});
- 单击网站上的按钮后在弹窗中跳转到艾克索拉钱包身份认证页面:
- 在导航页中,前往身份认证部分并选择回调URL部分。
- 确保在回调URL部分添加了以下URL:
https://login-widget.xsolla.com/latest/babka-auth-succeed
https://login.xsolla.com/api/social/oauth2/callback
- 在登录小组件代码中,在
babkaLoginPopup
参数中传入true
值并在callbackUrl
参数中传入用户认证后应跳转到的页面的URL地址。
- 单击网站上的按钮后在弹窗中跳转到艾克索拉钱包身份认证页面:
小组件代码示例:
Copy
- javascript
import { Widget } from '@xsolla/login-sdk';
const xl = new Widget({
projectId: '[Login ID]',
preferredLocale: 'en_US',
babkaLoginPopup: true,
callbackUrl: '[Your Callback URL]',
});
- 在网站上添加打开艾克索拉钱包身份认证页面的按钮。
通过艾克索拉登录按钮代码示例:
Copy
- html
<div id="xl_auth"></div>
<button onclick="xl.open()">Babka Login Popup</button>
- 在登录小组件中单击通过艾克索拉登录按钮后在模态窗口中打开艾克索拉钱包身份认证页面:
- 前往身份认证部分并选择回调URL部分。
- 在回调URL字段中,输入用户认证后要跳转到的页面的URL地址。
- 在登录小组件代码中,在
babkaLoginFlow
参数中传入popup
值,并在callbackUrl
参数中传入用户认证后应跳转到的页面的URL地址。
- 在登录小组件中单击通过艾克索拉登录按钮后在模态窗口中打开艾克索拉钱包身份认证页面:
小组件代码示例:
Copy
- javascript
import { Widget } from '@xsolla/login-sdk';
const xl = new Widget({
projectId: '[Login ID]',
preferredLocale: 'en_US',
babkaLoginFlow: popup,
callbackUrl: '[Your Callback URL]',
});
获取用户授权令牌
在艾克索拉侧授权后,用户将被重定向到callback_url
参数中指定的URL。用户授权令牌在token
参数中传递。
要在艾克索拉登录管理器JWT令牌中嵌入艾克索拉帐户OAuth JWT令牌:
- 在发布商帐户中打开您的项目,然后前往登录管理器部分。
- 在登录管理器项目面板中单击配置。
- 前往身份认证部分,然后选择社交网络登录部分。
- 将嵌入社交网络JWT令牌开关设置为开。
- 单击保存更改。
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。