カスタムストレージ

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

統合フロー

ログインウィジェットまたは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"}}'

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

答えたくない

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

続きを読む

最終更新日: 2021年8月16日

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

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