The following documentation was deprecated. Current version is available at developers.xsolla.com

Xsolla Login

Xsolla Login允许玩家通过本地社交网络账户连接到任何游戏,让其可以轻松上手并立即开始游戏。此外,Xsolla Login将保存玩家的付款信息,便于未来实现简单的一键式购买。开发人员可对Xsolla Login进行高度定制,使其成为自己游戏的一部分。

开始使用

请发送电子邮件到 bizdev@xsolla.com来注册您的应用。

请提供以下信息:

  • 网站 - 连接到Xsolla Login的网站(如 http://mysite.com)。

  • 域名 - 网站的主域名(如mysite.com)。 如有多个域名,请逐一指明,它们将使用同一个 projectID

  • 支持的身份认证方式有::

    • 选择登陆/密码,
    • SMS,
    • 社交网络(如Facebook, Twitter, Steam, Twitch, VK, Naver, 等),
    • i-pin (BETA),
    • 多重认证 (BETA),
    • 证书 (BETA)
    • 本地社交网络认证 (BETA).

如选择最后一种,请提供希望用于身份认证的社交网络。

我们将把您的 projectIDsecretKey 回复给您。

驗證小工具

用以下的範例,將標準驗證小工具新增到您的專案。到 這裡到這裡下載 SCSS 範本。

預設的區塊寬度是 400 px;高度則取決於驗證選項。

Example of a default design Example of a custom design Example of a custom design

安裝小工具

要新增 Xsolla Login 小工具到您的遊戲,請依照下列步驟執行:

步驟 1

在 <head> 標籤中啟用 xl.min.js:

<script src="https://static.xsolla.com/xsolla-login/1.1.1/xl.min.js"></script>

步驟 2

在 <body> 標籤中新增初始化程式碼:

<script type="text/javascript">
XL.init({
         projectId: '40db2ea4-5p47-11e6-a3ff-005056a0e04a',
         locale: 'en_US',
         onlyWidgets: true,
         redirectUrl: '<your redirect url>',
         fields: 'email'
     });
</script>
名稱 類型 說明
projectId string 應用程式 ID。必填
locale string 使用者地區設定指定為 <language code>_<country code>,其中:
redirectUrl string URL 在驗證後傳送給使用者。在 JWT 權杖中傳送。
onlyWidgets boolean 初始化小工具專用 Xsolla Login。預設為 'True'。
preloader string 小工具載入時顯示的預載畫面。指定元素的 HTML 程式碼。
fields string 向使用者要求的資料。允許數值:'email'。必填

步驟 3

新增 DIV 元素來包含小工具、給它唯一識別碼,在之後新增小工具初始化程式碼。

<div id="xl_auth"></div>
<script type="text/javascript">
var element_id = 'xl_auth';
var options = {
    width: '200px',
    height: '200px'
};
XL.AuthWidget(element_id, options);
</script>
名稱 類型 說明
element_id string 驗證容器元素的識別碼。必填
options object 小工具區塊設定。
options.width string 區塊寬度。
options.height string 區塊高度。

Xsolla Login 伺服器端

How it Works

Callback URL

在驗證後將使用者重新導向至這個 URL。

驗證成功

如果驗證成功,我們就會用以下參數將使用者重新導向至您的 callback URL:

HTTP 要求

GET https://callBackUrl.php?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

參數 類型 說明
token string JWT. 您可以用私密金鑰 將之解密
is_linking boolean 使用者已連結帳戶。

解密的權杖(範例)

{
  "exp": 1471071785,
  "iss": "https://login.xsolla.com",
  "iat": 1470985385,
  "id": "11111111",
  "name": "John Carter",
  "email": "john@example.com",
  "type": "social",
  "provider": "social_network",
  "xsolla_login_access_key": "s4dGNSPKinUxkSRI8rhPhZRElHj2yusqEeqgLIgn"
}
參數 類型 說明
exp string 權杖到期日(Unix 時間戳記)。
iss string JWT 簽發者。
iat string 建立日期(Unix 時間戳記)。
id string 使用者識別碼。
name string 使用者的全名。
email string 使用者電子信箱。
type string 驗證的類型。可以是 "proxy"(透過代理伺服器驗證)或 "social"(透過社群網路登入)。
provider string 社群網路名稱。可以是下列其中之一:"vk," "facebook," "twitter," "steam," "baidu," "naver," "qq," "github," "microsoft," "linkedin," "google"。
xsolla_login_access_key string 代表使用者存取金鑰來呼叫方法。

驗證失敗

如果驗證失敗,我們就會用以下 參數我們就會用以下參數將使用者重新導向至您的回撥 URL:

HTTP 要求

GET https://callBackUrl.php?error=003-002&error_description=User+not+found&redirect_url=https://site.com/fail_url

參數 類型 說明
error string 錯誤程式碼群組。
error_description string 錯誤說明。
redirect_url string 專案的 Callback URL。

其它的 API 方式

如果您已經有使用者,就可以透過代理伺服器驗證。在這種情況下,執行下列其中一個方法:

Xsolla Login 從 https://login.xsolla.com/, https://test-login.xsolla.com/ 呼叫方法

登入/密碼檢查

  • Type: POST
  • Content-type: application/json
  • Request body: {"username":"ХХХХ", "password":"ХХХХ"}
  • Success: {Ok 200}
  • Failure: {"error": {"code": "003-001", "description": "" }}

登記

  • Type: POST
  • Content-type: application/json
  • Request body: {"username":"ХХХХ", "password":"ХХХХ", "email":"ХХХХ"}
  • Success: {Ok 200}
  • Failure: {error: {code: "003-003|004", description: "" }}

密碼重設

  • Type: POST
  • Content-type: application/json
  • Request body: {"email":"ХХХХ"}
  • Success: {Ok 200}
  • Failure: {"error": {"code": "003-002", "description": ""}}