JSONからユーザープロファイルキー名へのマップ
どのように動作するか
エクソーラログインのウェブフックへの応答として返されるJSONオブジェクトのフィールドを、エクソーラシステム内の以下のユーザープロファイルプロパティにマッピングできます:
- 生年月日(
birthday
) - ニックネーム(
nickname
) - 名(
first_name
) - 姓(
last_name
) - 性別(
gender
) - あなたのサーバー上のユーザーID(
server_custom_id
)
- ウェブショップとのデータ同期
- Mailchimpのマージタグの適用
- その他の外部システムとの連携の実装
server_custom_id
プロパティのキーを指定すると、server_custom_id
によるアカウント統合を有効にできます。これにより、同じserver_custom_id
を持つすべてのアカウントが同一ユーザーのものとしてシステムに認識されます。使用に適した方
カスタムユーザーデータストレージを使用しており、そのデータをエクソーラログイン内で利用したいと考えているパートナー。
入手方法
- パブリッシャーアカウントのプロジェクトで、ログインセクションに移動します。
- ログインオプションを選択し、ユーザーデータベースセクションに進みます。
- ストレージセクションに移動します。
- カスタムストレージを選択します。
- キーマッピングを設定したいウェブフックを選択します:
- ユーザー認証
- ユーザー作成
- ソーシャルログイン
- キー名のマップブロックで、対応するユーザープロファイルプロパティにマッピングされるフィールド名を入力します。
- 「ユーザーアカウント連携を有効にする」トグルをオンにすると、同じ
server_custom_id
を持つすべてのアカウントを同一ユーザーとしてシステムが認識します(任意)。
お知らせ
server_custom_id
によるアカウント連携は、キー名マッピングでserver_custom_id
プロパティのキーを指定した場合にのみ利用可能です。- 変更内容を保存するをクリックします。
お知らせ
キーマッピングにすべてのフィールドを含める必要はありません。
キー名のマップの使用例
ウェブフックレスポンスのユーザーデータをJWTおよびユーザープロファイルのプロパティに渡す
- ユーザー検証ウェブフックへの応答として、以下のJSONオブジェクトを送信します(任意のフィールドを含めることができる):
Copy
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "user@example.com"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17}
- パブリッシャーアカウントで、
nickname
とserver_custom_id
プロパティにキーをマッピングしました。
- ユーザー詳細を取得するリクエストに対する応答として、以下のJSONが返されます:
Copy
- json
1{
2 "birthday": null,
3 "country": null,
4 "devices": [
5 {
6 "device": null,
7 "last_used_at": null,
8 "type": null
9 },
10 {
11 "device": null,
12 "last_used_at": null,
13 "type": null
14 }
15 ],
16 "email": null,
17 "external_id": null,
18 "first_name": null,
19 "gender": null,
20 "groups": [
21 {
22 "id": 1,
23 "is_default": false,
24 "name": "admin"
25 },
26 {
27 "id": 5,
28 "is_default": false,
29 "name": "user"
30 }
31 ],
32 "id": null,
33 "is_anonymous": false,
34 "last_login": null,
35 "last_name": null,
36 "nickname": "gamer123",
37 "phone": null,
38 "phone_auth": null,
39 "registered": null,
40 "tag": null,
41 "username": null
42}
お知らせ
ウェブフック応答で返されるすべての値は、フィールドがキー名マップに追加されていれば、ユーザーのJWTトークンに含まれます。システムに存在しないユーザープロファイルプロパティの場合、応答は
null
を返します。ウェブショップにおける認証時にキー名マップとアカウント連携を使用する
- ユーザーが自身のユーザーIDを使ってウェブショップにログインします。そのユーザーIDはJWTの
server_custom_id
フィールドに記録されます。 - ウェブショップは、あなたのサーバーにウェブショップでのユーザー検証ウェブフックを送信します。
- ユーザーが存在する場合、サーバーはウェブフックに対して
200
を返し、存在しない場合は404
を返します。 - ウェブショップがユーザーを認証します。
- ユーザーはソーシャルログインなど、別の方法で再度ウェブショップにログインします。
- ウェブショップはユーザーをソーシャルネットワークのログインページにリダイレクトします。
- ユーザーがソーシャルネットワークにログインします。
- ソーシャルネットワークがユーザーのプロフィールデータをウェブショップに返します。
- ウェブショップは、ソーシャルログインURLにウェブフックを送信します。
- ソーシャルネットワークのプロフィールデータに基づき、あなたのサーバーはユーザーを識別し、ユーザーID認証時に使用されたものと同じユーザーIDを割り当てます。
- あなたのサーバーは
2xx
コードで応答し、ユーザーIDを含むJSON本文を返します。 - ウェブショップはユーザー属性を保存し、ウェブフック応答からのデータをJWTの
partner_data
フィールドに追加します。 - キー名マップに
server_custom_id
のキーが含まれており、かつアカウント連携が有効になっている場合、ウェブショップは受信したユーザーデータをキー名マップに基づいてプロフィールプロパティにマッピングし、アカウントをリンクします。 - ウェブショップは、ユーザーIDログイン時に使用されたのと同じアカウントにユーザーを認証します。
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。続きを読む
お役立ちリンク
カスタムユーザーデータストレージ誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。