登录管理器

登录管理器是一个单点登录工具,可为开发游戏的合作伙伴提供游戏用户认证及密码安全存储。 它通过30多个第三方认证供应商提供无缝一键式用户注册体验,让游戏玩家能够便捷、安全、快速地注册或登录所有喜爱的游戏。登录管理器使用API方法,允许合作伙伴执行以下操作:

  • 根据GDPR规定处理个人数据
  • 在发布商帐户中配置解决方案
  • 选择用户数据存储
  • 通过用户名/密码或社交网络进行用户认证
  • 根据使用频率及用户所在地对社交网络进行排序

此外,也可通过登录管理器小组件来认证用户,其支持:

  • 自定义UI
  • 20种语言的本地化
  • 自动交付小组件更新
  • 设置小组件起始页

Note: 使用启动器时,建议安装登录管理器小组件。如已在使用艾克索拉产品并希望将其与登录管理器集成,请联系您的帐户经理。

集成过程

登录管理器的集成方式有两种:

  • 通过API。如要使用自己的界面对游戏用户进行认证,可选择此方式。
  • 使用登录管理器小组件。该方式包含用户认证UI以及登录管理器 API方法。

通过API集成登录管理器

  1. 在发布商帐户中创建一个登录管理器实例,并指定:
    • 名称;
    • 登录管理器要连接的游戏网站链接。
  2. 打开 常规设置 ,填写以下字段:
    • 回调URL - 登录成功后将用户重定向到该URL;
    • 允许的来源(CORS) - 调用API方法的URL;
    • 错误回调URL - 发生认证错误时将用户重定向到该URL。如未指定任何值,将使用 回调URL
  3. 选择用户数据库存储(艾克索拉或自有存储)。
  4. 设置用户可凭之登录的社交网络。

通过小组件集成登录管理器

  1. 在发布商帐户中创建一个登录管理器实例,并指定:
    • 名称;
    • 登录管理器要连接的游戏网站链接。
  2. 打开 设置 ,填写以下字段:
    • 回调URL - 登录成功后将用户重定向到该URL;
    • 错误回调URL - 发生认证错误时将用户重定向到该URL。如未指定任何值,将使用 回调URL
  3. 选择用户数据库存储(艾克索拉或自有存储)。
  4. 设置用户可用于登录的社交网络。
  5. 自定义登录管理器小组件的UI。
  6. 将登录管理器小组件连接到您的网站。

自定义UI

  1. 从发布商帐户下载并解压缩样式文件包。
  2. 下载并安装Node.js的最新LTS版本。
  3. 从解压缩的样式文件夹中运行npm i
  4. 编辑app/styles/themes/_default.scss
  5. 从解压缩的样式文件夹中运行npm run styles
  6. dist文件夹中名称类似于app.default.css的文件上传到您的发布商帐户。

如需进一步自定义小组件的UI,请重复步骤4–6。

将登录管理器小组件连接到您的网站

要将登录管理器小组件与网站相集成,请使用Xsolla Login Javascript SDK

步骤1

连接 Xsolla Login Javascript SDK:

  • 如果您的项目使用Bower,请打开控制台并运行bower install xsolla-login-js- sdk
  • 如果未安装该包,请在放置该小组件的网页的<head>标记中添加以下代码:<script src="https://cdn.xsolla.net/xsolla-login-widget/sdk/2.2.3/xl.min.js"></script>

步骤2

将小组件初始化代码添加到<body>标记中。

<script type="text/javascript">
XL.init({
  projectId: '{Login ID}',
  callbackUrl: '{callbackUrl}',
  locale: 'en_US'
});
</script>

参数 类型 描述
projectId string 来自发布商帐户的登录管理器ID。 必需
callbackUrl string 注册/认证/重置密码后将用户重定向到的URL。必须与发布商帐户登录管理器设置中指定的回调URL相同。如有多个回调URL,则此为必填
locale string <language code>_<country code>格式指定的区域,其中:社交网络列表将根据变量值以最常用到最不常用的顺序进行排序。
fields array of strings 成功注册/认证用户所需的参数列表。例如:“email, promo_email_agreement”。相应表单中将要求用户指定这些参数。
theme string 包含小组件样式文件的URL。如该值为空,将使用已上传到发布商帐户的样式。
popupBackgroundColor string 全屏模式下的小组件背景颜色。值可以是以CSS颜色格式指定的任意值。默认为rgba(50, 150, 150, 0.1)。
iframeZIndex string 全屏模式下小组件的层叠顺序。默认为1000000。

步骤3

选择小组件在网站上的放置方式:

  • 全屏模式;
  • 页面上的特定区块中。

全屏模式

将包含点击事件的按钮添加到网站,并调用XL.show()函数。

<button onclick="XL.show()">Fullscreen widget</button>

点击小组件外面的区域时将退出全屏模式。

页面区块中

将要放置小组件的区块添加到该页面的<body>标记中,并指定区块ID。

<div id="xl_auth"></div>

添加以下脚本,并根据以下说明指定参数。

<script type="text/javascript">
var element_id = 'xl_auth';
var options = {
  width: 400,
  height: 550,
  route: XL.ROUTES.REGISTRATION
};
XL.AuthWidget(element_id, options);
</script>

参数 类型 描述
element_id string 包含登录管理器小组件区块的ID。 必需
options object 登录管理器小组件区块设置。对象由下表中的参数组成。
width number 区块宽度(单位为像素)。默认为400。
height number 区块高度(单位为像素)。默认为550。
route string 小组件起始页。可为:
  • XL.ROUTES.LOGIN — 要求用户名/密码的登录页。默认使用此项。
  • XL.ROUTES.REGISTRATION — 注册页。
  • XL.ROUTES.RECOVER_PASSWORD — 密码重置页。
  • XL.ROUTES.ALL_SOCIALS — 可用于用户验证的社交网络列表页。

步骤4(可选)

可跟踪以下小组件操作:

  • 小组件加载完成;
  • 用户尝试关闭小组件;
  • 注册确认邮件发送完成。

按照以下描述初始化并处理操作。

小组件加载完成

XL.on(XL.eventTypes.LOAD, function () {
    console.log('the widget has been loaded');
});

用户尝试关闭小组件

XL.on(XL.eventTypes.CLOSE, function () {
    console.log('user is trying to close the widget');
});

注册确认邮件发送完成

XL.on(XL.eventTypes.REGISTRATION_REQUEST, function () {
    console.log('registration form has been sent');
});

个人数据处理

欧洲联盟(欧盟)用户的个人数据处理遵循GDPR中各项条款规定。下文列出GDPR中的部分规定,以及登录管理器可如何帮助您实现合规。

根据规定第6至8条,您必须:

  • 请求数据主体同意对其个人数据进行处理,
  • 予以数据主体随时撤回其同意的权利。

登录管理器小组件通过登记表单来请求用户同意对其个人数据进行处理。

如果用户改变想法,您可向support@xsolla.com发送请求以取消个人数据处理。

用户权利

根据规定第15至17以及第19条,用户有权利:

  • 获取其个人数据的副本,
  • 要求修正有关自身的、不准确的个人数据,
  • 要求删除有关自身的个人数据。

要获取、修正或删除用户数据:

  • 如果您使用的是艾克索拉存储,请向 support@xsolla.com发送请求
  • 如果使用的是 PlayFab,请阅读此教程
  • 如果您使用的是自定义存储,请选择自己的方法。

个人数据的处理和存储

根据规定第5条,个人数据必须:

  • 为特定目的收集,且不以有违这些目的的方式作进一步处理;
  • 以确保个人数据适当安全的方式进行处理,包括保护数据不受未授权或非法处理,以及保护数据不受意外损失、损毁或损坏。

登录管理器使用的数据可涉及用户应用个人数据的多种方式,包括屏蔽、发送邮件、支付等。

个人数据的存储和传输根据AES-256算法进行加密。

数据的可移植性

根据规定第20条,用户有权利传送和存储其个人数据。您必须为用户提供结构化的、常用的机读格式数据。

要获取用户数据:

  • 如果使用的是艾克索拉存储,请转至发布商帐户 > 登录管理器设置 > 用户
  • 如果使用的是 PlayFab,请阅读此教程
  • 如果使用的是自定义存储,请选择自己的方式。

用户数据保护

根据规定第32条,您必须提供可靠的数据保护,方法包括:

  • 数据加密,
  • 数据保密,
  • 数据完整,
  • 恢复性数据处理系统。

登录管理器提供以下功能,帮助您实现合规:

  • 根据AES-256算法加密数据,
  • 检查输入密码正确与否,
  • 检查密码安全性,
  • 限制数据访问。

高级诀窍

以下高级诀窍可帮助您使用登录管理器的一些高级功能: