ログイン / カスタムストレージ
 ドキュメントに戻る

ログイン

  • 統合ガイド

  • ユーザーデータストレージ

  • カスタマイゼーション

  • 通信サービスプロバイダー

  • 特徴

  • ハウツー

  • 拡張機能

  • リファレンス

  • カスタムストレージ

    カスタムストレージを使用する場合、次にアクセスできます:

    統合フロー

    ログインウィジェットまたはLogin APIコールを使用するアプリケーションをクライアントとして使用できます。クライアントとエクソラログインサーバー間の対話フローは次のとおり:

    1. クライアントはエクソラログインサーバーにリクエストを送信します。リクエストの形式は、JWTおよびPasswordエンドポイントで説明されています。
    2. エクソラログインサーバーがサーバーにリクエストを送信します。指示に従ってリクエストを検証します。
    3. エクソラログインサーバーはサーバーからの応答を処理し、結果をクライアントに返します。
    4. クライアントは応答を処理します。

    ユーザー登録

    1. クライアントは、Register new userリクエストをエクソラログインサーバーに送信します。
    2. ログインログインサーバーは、新しいユーザーのURLにリクエストを送信します。応答は、この指示で説明されている形式でなければなりません。

    要求の例:

    Copy
    Full screen
    Small screen
    http
    • http
    • curl
    POST https://your.hostname/your_registration_uri HTTP/1.1
    Authorization: Bearer {JWT}
    Content-Type: application/json
    
    {
      "email": "john@gmail.com",
      "password": "123456"
    }
    curl --request POST \
      --url 'https://your.hostname/your_registration_uri' \
      --header 'authorization: bearer_JWT' \
      --header 'content-type: application/json' \
      --data '{"email":"john@gmail.com","password":"123456"}'

    1. emailにフラグが付けられ、未確認の時、ユーザーデータはエクソラデータベースに書き込まれます。ユーザーはアカウント確認メールを受け取ります。
    2. ログインウィジェットを統合している場合、ユーザーは次のメッセージとともにページにリダイレクトされます:{email}に送信した指示に従って、アカウントを確認してください

    ユーザー名とパスワードによる認証

    1. 御社のクライアントはAuth by username and password要求をエクソラログインサーバーに送信します。
    2. エクソラログインサーバーは要求をユーザー確認URLに送ります。応答はこの指示で説明されている形式でなければなりません。

    要求の例:

    Copy
    Full screen
    Small screen
    http
    • http
    • curl
    POST https://your.hostname/your_authentication_uri HTTP/1.1
    Authorization: Bearer {JWT}
    Content-Type: application/json
    
    {
      "email": "john@gmail.com",
      "password": "123456"
    }
    curl --request POST \
      --url 'https://your.hostname/your_authentication_uri' \
      --header 'authorization: bearer_JWT' \
      --header 'content-type: application/json' \
      --data '{"email":"john@gmail.com","password":"123456"}'

    1. エクソラログインサーバーはユーザーJWTを生成します。
    2. ユーザーはtokenクエリパラメータのあるlogin_urlにリダイレクトされます。tokenパラメータにはユーザーJWTが含まれます。

    Note
    エクソラデータベースにユーザーデータが書き込まれていない場合は、新しいユーザーが作成されます。

    電話番号経由のパスワードレス認証

    1. クライアントは認証フォームを開き、ユーザーが電話番号を入力できるようにします。
    2. ユーザーは電話番号を入力します。
    3. クライアントはエクソラログインサーバーにStart auth by phone numberリクエストを送信します。
    4. クライアントは、ユーザーが検証コードを入力できるようにフィールドを表示します。
    5. ユーザーは受信した検証コードを入力します。
    6. クライアントはエクソラログインにComplete auth by phone numberリクエストを送信します。
    7. それが最初のユーザ認証である場合、エクソラログインサーバは、電話URL付きのパスワードレスログインにリクエストを送信します。応答は、この説明に記載されている形式でなければなりません。

    要求の例:

    Copy
    Full screen
    Small screen
    http
    • http
    • curl
    POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
    Authorization: Bearer {JWT}
    Content-Type: application/json
    
    {
      "login": "+12025550140",
      "type": "phone"
    }
    curl --request POST \
      --url 'https://your.hostname/your_phone_authentication_uri' \
      --header 'authorization: bearer_JWT' \
      --header 'content-type: application/json' \
      --data '{"login":"+12025550140","type":"phone"}'

    ソーシャルネットワーク経由の認証

    ソーシャルネットワーク経由の認証時にユーザーデータを取得するには、パブリッシャーアカウントのログインプロジェクトの設定(セクションユーザーデータベース > ストレージ > カスタムストレージ)で、ソーシャルログインURLを指定します。ソーシャルネットワークから受信したデータを含むリクエストがこのURLに送信されます。

    認証フロー:

    1. クライアントがAuth via social networkリクエストをエクソラログインサーバーに送信します。
    2. ユーザーはソーシャルネットワークにログインします。
    3. エクソラログインサーバーは、ソーシャルネットワークから受信したユーザーデータを処理し、ソーシャルログインURLにリクエストを送信します。応答は、指示で説明されている形式でなければなりません。

    リクエストはAuthorization: Bearer <JWT>ヘッダーで一時トークンにデータが含まれています。リクエストで渡されたユーザーJWTには、次のデータが含まれています:

    クレーム種類説明
    expUnix TimestampJWTの有効期限の日時。JWTの存続時間は7分です。 必須。
    iatUnix TimestampJWTが発行された日時。 必須。
    issstringJWTに署名したサービスhttps://login.xsolla.com必須。
    request_typestring定数:gateway_request必須。
    xsolla_login_project_idstring(UUID)パブリッシャーアカウントの御社のログインプロジェクトID。 必須。
    emailstringユーザーのメールアドレス。
    substring(UUID)エクソラログインサーバー側に書き込まれたユーザーID。 必須。
    usernamestringユーザー名。
    providerstring認証に使用されるソーシャルネットワークの名前。 必須。
    idstringソーシャルネットワークのユーザーID。 必須。

    トークンペイロードの例:

    Copy
    Full screen
    Small screen
    {
      "exp": 1573635020,
      "iat": 1573634600,
      "iss": "https://login.xsolla.com",
      "request_type": "gateway_request",
      "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000",
      "sub": "00000000-0000-0000-0000-000000000000",
      "email": "example@test.com",
      "username": "Smith707",
      "provider": "google",
      "id": "123",
    }

    要求の例:

    Copy
    Full screen
    Small screen
    http
    • http
    • curl
    POST https://your.hostname/your_social_authentication_uri HTTP/1.1
    Authorization: Bearer {JWT}
    Content-Type: application/json
    
    {}
    curl --request POST \
      --url 'https://your.hostname/your_social_authentication_uri' \
      --header 'authorization: bearer_JWT' \
      --header 'content-type: application/json'

    ユーザーパスワードのリセット

    1. クライアントは、Reset passwordリクエストをエクソラログインサーバーに送信します。
    2. エクソラログインサーバーは、ユーザーにパスワードリセットの確認メールを送信します。
    3. 電子メールでパスワードのリセットを確認した後、ユーザーは新しいパスワードを入力できるページにリダイレクトされます。
    4. ユーザーは新しいパスワードを入力します。
    5. エクソラログインサーバーは、パスワードリセットURLにリクエストを送信します。応答は、この指示で説明されている形式でなければなりません。

    要求の例:

    Copy
    Full screen
    Small screen
    http
    • http
    • curl
    POST https://your.hostname/your_reset_uri HTTP/1.1
    Authorization: Bearer {JWT}
    Content-Type: application/json
    
    {
      "username": "john@gmail.com",
      "fields": {
        "password": "NewPa$$word1"
      }
    }
    curl --request POST \
      --url 'https://your.hostname/your_reset_uri' \
      --header 'authorization: bearer_JWT' \
      --header 'content-type: application/json' \
      --data '{"email":"john@gmail.com","fields":{"password":"NewPa$$word1"}}'

    この記事は役に立ちましたか?
    ありがとうございます!
    改善できることはありますか? メッセージ
    申し訳ありません
    この記事が参考にならなかった理由を説明してください。 メッセージ
    ご意見ありがとうございました!
    あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
    このページを評価する
    このページを評価する
    改善できることはありますか?

    答えたくない

    ご意見ありがとうございました!

    続きを読む

    最終更新日: 2022年4月27日

    誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

    問題を報告する
    当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
    フォローアップ用のメールをご提供してください
    ご意見ありがとうございました!