カスタムストレージ
カスタムストレージを使用する場合、次にアクセスできます:
統合フロー
ログインウィジェットまたはログインAPIコールを使用するアプリケーションをクライアントとして使用できます。クライアントとエクソーラログインサーバー間の対話フローは次のとおり:
- クライアントはエクソーラログインサーバーにリクエストを送信します。リクエストの形式は、JWTおよびPasswordエンドポイントで説明されています。
- エクソーラログインサーバーがサーバーにリクエストを送信します。指示に従ってリクエストを検証します。
- エクソーラログインサーバーはサーバーからの応答を処理し、結果をクライアントに返します。
- クライアントは応答を処理します。
お知らせ
ユーザーのメールアドレス、ソーシャルメディアデータ、ユーザー属性はエクソーラ側に保存されます。パスワードはエクソーラ側には保存されません。
- 任意のJSONオブジェクトとして。
お知らせ
- ユーザー属性を持つオブジェクトの配列として。オブジェクトの構造は、次のとおりにする必要があります。
パラメータ | 種類 | 説明文 |
---|---|---|
attr_type | string | サービス属性に対するユーザーのアクセス レベルの定義:
|
キー | string | ユーザーの属性を識別するための属性名。ユーザーごとにユニークである必要があります。 最大長さ:256シンボル。数字、ラテン文字、ハイフン、アンダースコアを使用することができます。 |
権限 | string or null | ユーザーの属性へのアクセスのタイプは、メソッドによって返される属性のリストに影響します: 可能な値: public 、private (デフォルト)。 |
read_only | string | 属性が変更から保護されているかどうか。デフォルトでは、false と属性値の変更は許可されています。 |
値 | string | ユーザーの属性の値。 最大長さ:256シンボル。 |
ユーザー登録
- クライアントは、エクソーラログインサーバーに
Register new user リクエストを送信します。 - エクソーラログインサーバーは、「新規ユーザーURL」にリクエストを送信します。応答は、この統合フローで説明されている形式である必要があります。応答では、ユーザー属性のリストまたは必要なJSONオブジェクトを指定できます。応答で提供されたJSONオブジェクトは、ユーザーのJWTの
partner_data
フィールドに記録されます。
お知らせ
Copy
http
- http
- curl
POST https://your.hostname/your_registration_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email":"j.smith@email.com",
"password":"123456",
"username":"j.smith@email.com"
}
curl --request POST \
--url 'https://your.hostname/your_registration_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'
ユーザー属性を持つ応答の例:
Copy
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
JSONオブジェクトを使用したレスポンスの例:
Copy
- json
{ "region": "Asia",
"type": "new"
}
email
にフラグが付けられ、未確認の時、ユーザーデータはエクソーラデータベースに書き込まれます。ユーザーはアカウント確認メールを受け取ります。- ログインウィジェットを統合している場合、ユーザーは次のメッセージとともにページにリダイレクトされます:{email}に送信した指示に従って、アカウントを確認してください。
- ユーザー登録に失敗した場合、認証ウィジェットに表示されるエラーメッセージを提供することができます。これを行うには、ユーザ作成リクエストの応答で、以下の詳細を持つ
error
オブジェクトを渡します:code
パラメータで、011-002
を指定します。description
パラメータには、エラーメッセージのテキストを提供します。
Copy
- json
{
"error": {
"code": "011-002",
"description": "<string>"
}
}
ユーザー名とパスワードによる認証
- クライアントは、エクソーラログインサーバーに
Auth by username and password リクエストを送信します。 - エクソーラログインサーバーは、「ユーザー検証URL」にリクエストを送信します。応答は、この統合フローで説明されている形式である必要があります。応答では、ユーザー属性のリストまたは必要なJSONオブジェクトを指定できます。応答で提供されたJSONオブジェクトは、ユーザーのJWTの
partner_data
フィールドに記録されます。
お知らせ
Copy
http
- http
- curl
POST https://your.hostname/your_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email":"j.smith@email.com",
"password":"123456",
"username":"j.smith@email.com"
}
curl --request POST \
--url 'https://your.hostname/your_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'
ユーザー属性を持つ応答の例:
Copy
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
JSONオブジェクトを使用したレスポンスの例:
Copy
- json
{ "region": "Asia",
"type": "new"
}
- エクソーラログインサーバーはユーザーJWTを生成します。
- ユーザーは
token
クエリパラメータのあるlogin_url
にリダイレクトされます。token
パラメータにはユーザーJWTが含まれます。
お知らせ
エクソーラデータベースにユーザーデータが書き込まれていない場合は、新しいユーザーが作成されます。
電話番号経由のパスワードレス認証
- クライアントは認証フォームを開き、ユーザーが電話番号を入力できるようにします。
- ユーザーは電話番号を入力します。
- クライアントはエクソーラログインサーバーに
Start auth by phone number リクエストを送信します。 - クライアントは、ユーザーが検証コードを入力できるようにフィールドを表示します。
- ユーザーは受信した検証コードを入力します。
- クライアントはエクソーラログインに
Complete auth by phone number リクエストを送信します。 - それが最初のユーザ認証である場合、エクソーラログインサーバは、電話URL付きのパスワードレスログインにリクエストを送信します。応答は、この統合フローに記載されている形式でなければなりません。応答では、ユーザー属性のリストまたは必要なJSONオブジェクトを指定できます。応答で指定したJSONオブジェクトは、ユーザーのJWTの
partner_data
フィールドに記録されます。
お知らせ
Copy
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"}'
ユーザー属性を持つ応答の例:
Copy
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
JSONオブジェクトを使用したレスポンスの例:
Copy
- json
{ "region": "Asia",
"type": "new"
}
メール経由でパスワードレス認証
- クライアントは認証フォームを開き、ユーザーがメールアドレスを入力できるようにします。
- ユーザーはメールアドレスを入力します。
- クライアントはエクソーラログインサーバーに
Start auth by email リクエストを送信します。 - クライアントは、ユーザーが検証コードを入力できるようにフィールドを表示します。
- ユーザーは受信した検証コードを入力します。
- クライアントはエクソーラログインに
Complete auth by email リクエストを送信します。 - それが最初のユーザ認証である場合、エクソーラログインサーバは、電話URL付きのパスワードレスログインにリクエストを送信します。応答は、この統合フローに記載されている形式でなければなりません。応答では、ユーザー属性のリストまたは必要なJSONオブジェクトを指定できます。応答で指定したJSONオブジェクトは、ユーザーのJWTの
partner_data
フィールドに記録されます。
お知らせ
Copy
http
- http
- curl
POST https://your.hostname/your_email_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email": "user@mail.com",
"type": "email"
}
curl --request POST \
--url 'https://your.hostname/your_email_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email": "user@mail.com","type": "email"}'
ユーザー属性を持つ応答の例:
Copy
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
JSONオブジェクトを使用したレスポンスの例:
Copy
- json
{ "region": "Asia",
"type": "new"
}
ソーシャルネットワーク経由の認証
ソーシャルネットワーク経由の認証時にユーザーデータを取得するには、アドミンページのログインプロジェクトの設定(セクションユーザーデータベース > ストレージ > カスタムストレージ)で、ソーシャルログインURLを指定します。ソーシャルネットワークから受信したデータを含むリクエストがこのURLに送信されます。
認証フロー:
- クライアントは
Auth via social network リクエストをエクソーラログインサーバーに送信します。 - ユーザーがソーシャルネットワークにログインします。
- エクソーラログインサーバーは、ソーシャルネットワークから受信したユーザーデータを処理し、「ソーシャルログインURL」にリクエストを送信します。応答は、シナリオで説明されている形式である必要があります。応答では、ユーザー属性のリストまたは必要なJSONオブジェクトを指定できます。応答で指定したJSONオブジェクトは、ユーザーのJWTの
partner_data
フィールドに記録されます。
お知らせ
Authorization: Bearer <JWT>
ヘッダーで一時トークンにデータが含まれています。リクエストで渡されたユーザーJWTには、次のデータが含まれています:クレーム | 種類 | 説明 |
---|---|---|
exp | Unix Timestamp | JWTの有効期限の日時。JWTの存続時間は7分です。 必須。 |
iat | Unix Timestamp | JWTが発行された日時。 必須。 |
iss | string | JWTに署名したサービスhttps://login.xsolla.com 。 必須。 |
request_type | string | 定数:gateway_request 。 必須。 |
xsolla_login_project_id | string(UUID) | アドミンページの御社のログインプロジェクトID。 必須。 |
string | ユーザーのメールアドレス。 | |
sub | string(UUID) | エクソーラログインサーバー側に書き込まれたユーザーID。 必須。 |
username | string | ユーザー名。 |
provider | string | 認証に使用されるソーシャルネットワークの名前。 必須。 |
id | string | ソーシャルネットワークのユーザーID。 必須。 |
social_access_token | string | ユーザーが認証されたソーシャルネットワークのアクセストークン。このクレームの送信を有効にするには、カスタマーサクセスマネージャーに連絡するか、csm@xsolla.comに電子メールを送信してください。 |
partner_data | string | 認証中にサーバーから応答本文で返される任意の種類のデータ。このクレームの送信を有効にするには、カスタマーサクセスマネージャーに連絡するか、csm@xsolla.comに電子メールを送信してください。 |
Copy
- json
{
"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",
}
新しいユーザーURLの応答例:
Copy
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'
ユーザー属性を持つ応答の例:
Copy
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
JSONオブジェクトを使用したレスポンスの例:
Copy
- json
{ "region": "Asia",
"type": "new"
}
ユーザーパスワードのリセット
- クライアントは、
Reset password リクエストをエクソーラログインサーバーに送信します。 - エクソーラログインサーバーは、ユーザーにパスワードリセットの確認メールを送信します。
- 電子メールでパスワードのリセットを確認した後、ユーザーは新しいパスワードを入力できるページにリダイレクトされます。
- ユーザーは新しいパスワードを入力します。
- エクソーラログインサーバーは、パスワードリセットURLにリクエストを送信します。
新しいユーザーURLの応答例:
Copy
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"}}'
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。続きを読む
お役立ちリンク
カスタムストレージを接続する方法誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。