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

Xsolla ログイン

プレイヤーは、Xsolla ログインからソーシャルネットワークアカウントを使用して任意のゲームにログインできます。プレイヤーが即座にそして、簡単にゲームを開始できるようになります。さらに、Xsolla Loginはプレイヤーの決済データを格納しており、ワンクリックで便利に購入できます。開発者はXsolla Loginをゲームの一部として表示するように完全にカスタマイズすることができます。

はじめに

アプリの登録は、bizdev@xsolla.comまでお問い合わせください。

次の情報を入力してください。

  • サイト - Xsollaログインに接続するウェブサイト(例:http://mysite.com)。

  • ドメイン - ウェブサイトのメインドメイン名(例:mysite.com)複数のドメイン名を持つ場合は、すべてを指定してください。すべて同じprojectIDになります。

  • サポートされている認証方法

    • ログイン/パスワード、
    • SMS、 *ソーシャルネットワーク(Facebook、Twitter、Steam、Twitch、VK、Naverなど)、
    • i-PIN(ベータ版)、 マルチファクタ認証(BETA版)、 証明書(ベータ版) *ローカルソーシャルネットワーク認証(ベータ版)。

最後の場合は、認証に使用するソーシャルネットワークをお知らせください。

projectIDsecretKeyをこちらから送信いたします。

認証ウィジェット

以下の例を使用して、プロジェクトに標準の認証ウィジェットを追加して下さい。ここからSCSSテンプレートをダウンロードしてください。

既定のブロック幅は400ピクセルです。高さは認証オプションによって異なります。

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

ウィジェットのインストール

ゲームにXsollaログインウィジェットを追加するには、次の手順を実行してください。

ステップ 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ログインを初期化するには、ウィジェットのみを使用します。既定では 'True'です。
preloader string ウィジェットの読み込み中に表示されるプリローダー。要素のHTMLコードを指定します。
fields string ユーザーからリクエストされるデータ。許容値:'email'。 必須。

ステップ 3

ウィジェットを格納するDIV要素を追加し、そのウィジェットに一意のIDを与え、その後にウィジェットの初期化コードを追加します。

<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 認証コンテナ要素のID。 必須。
options object ウィジェットブロックの設定。
options.width string ブロックの幅。
options.height string ブロックの高さ。

Xsollaログインサーバー側

使い方

コールバック URL

認証後にユーザーをこのURLにリダイレクトします。

認証の成功

認証が成功すると、次のパラメーターを使用してコールバックURLにユーザーをリダイレクトします。

HTTPリクエスト

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

Parameter Type 説明文
トークン string JWT. You can decrypt it using the secret key.
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"
}
Parameter Type 説明文
exp string トークンの有効期限(Unixタイムスタンプ)。
iss string JWT発行者。
iat string 作成日(Unixタイムスタンプ)。
id string ユーザーID。
name string ユーザーのフルネーム。
email string User email.
type string 認証の種類。"proxy"(プロキシ経由で認証)または、"social"(ソーシャルネットワーク経由でログイン)に指定できます。
provider string ソーシャルネットワーク名。 Can be one of the following:"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

Parameter Type 説明文
error string エラーコードのグループ。
error_description string エラーの説明文。
redirect_url string プロジェクトのコールバックURL。

その他のAPIメソッド

既にユーザーがいる場合は、プロキシ経由の認証を使用できます。この場合、次のメソッドを実装してください。

Xsolla ログインは、https://login.xsolla.com/とhttps://test-login.xsolla.com/からメソッドを呼び出します

ログイン/パスワードチェック

  • 種類:POST
  • コンテンツタイプ:application / json
  • リクエスト本体:{"username":"ХХХХ", "password":"ХХХХ"}
  • 成功:{Ok 200}
  • 失敗:{"error":{"code":"003-001", "description":"" }}

サインアップ

  • 種類:POST
  • コンテンツタイプ:application / json
  • リクエスト本体:{"username":"ХХХХ", "password":"ХХХХ", "email":"ХХХХ"}
  • 成功:{Ok 200}
  • 失敗:{error:{code:"003-003 | 004", description:"" }}

パスワードのリセット

  • 種類:POST
  • コンテンツタイプ:application / json
  • リクエスト本体:{"email":"ХХХХ"}
  • 成功:{Ok 200}
  • 失敗:{"error":{"code":"003-002", "description":""}}