JSONからユーザープロファイルキー名へのマップ

どのように動作するか

エクソーラログインのウェブフックへの応答として返されるJSONオブジェクトのフィールドを、エクソーラシステム内の以下のユーザープロファイルプロパティにマッピングできます:

  • 生年月日(birthday
  • ニックネーム(nickname
  • 名(first_name
  • 姓(last_name
  • 性別(gender
  • あなたのサーバー上のユーザーID(server_custom_id

お知らせ
キーマッピングは、以下のエクソーラログインウェブフックでのみ利用可能です:
キー名のマップは、以下の目的で利用できます:キー名のマップでserver_custom_idプロパティのキーを指定すると、server_custom_idによるアカウント統合を有効にできます。これにより、同じserver_custom_idを持つすべてのアカウントが同一ユーザーのものとしてシステムに認識されます。

使用に適した方

カスタムユーザーデータストレージを使用しており、そのデータをエクソーラログイン内で利用したいと考えているパートナー。

入手方法

  1. パブリッシャーアカウントのプロジェクトで、ログインセクションに移動します。
  2. ログインオプションを選択し、ユーザーデータベースセクションに進みます。
  3. ストレージセクションに移動します。
  4. カスタムストレージを選択します。
  5. キーマッピングを設定したいウェブフックを選択します:
    • ユーザー認証
    • ユーザー作成
    • ソーシャルログイン
  6. キー名のマップブロックで、対応するユーザープロファイルプロパティにマッピングされるフィールド名を入力します。
  1. ユーザーアカウント連携を有効にする」トグルをオンにすると、同じserver_custom_idを持つすべてのアカウントを同一ユーザーとしてシステムが認識します(任意)。
お知らせ
server_custom_idによるアカウント連携は、キー名マッピングでserver_custom_idプロパティのキーを指定した場合にのみ利用可能です。
  1. 変更内容を保存するをクリックします。
お知らせ
キーマッピングにすべてのフィールドを含める必要はありません。

キー名のマップの使用例

ウェブフックレスポンスのユーザーデータをJWTおよびユーザープロファイルのプロパティに渡す

  1. ユーザー検証ウェブフックへの応答として、以下のJSONオブジェクトを送信します(任意のフィールドを含めることができる):
Copy
Full screen
Small screen
 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}
  1. パブリッシャーアカウントで、nicknameserver_custom_idプロパティにキーをマッピングしました。
  1. ユーザー詳細を取得するリクエストに対する応答として、以下のJSONが返されます:
Copy
Full screen
Small screen
 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を返します。
これにより、あなたのシステムからのどのデータがエクソーラユーザープロファイルに含まれ、APIやトークンを通じて利用可能になるかを管理できます。

ウェブショップにおける認証時にキー名マップとアカウント連携を使用する

  1. ユーザーが自身のユーザーIDを使ってウェブショップにログインします。そのユーザーIDはJWTのserver_custom_idフィールドに記録されます。
  2. ウェブショップは、あなたのサーバーにウェブショップでのユーザー検証ウェブフックを送信します。
  3. ユーザーが存在する場合、サーバーはウェブフックに対して200を返し、存在しない場合は404を返します。
  4. ウェブショップがユーザーを認証します。
  5. ユーザーはソーシャルログインなど、別の方法で再度ウェブショップにログインします。
  6. ウェブショップはユーザーをソーシャルネットワークのログインページにリダイレクトします。
  7. ユーザーがソーシャルネットワークにログインします。
  8. ソーシャルネットワークがユーザーのプロフィールデータをウェブショップに返します。
  9. ウェブショップは、ソーシャルログインURLウェブフックを送信します。
  10. ソーシャルネットワークのプロフィールデータに基づき、あなたのサーバーはユーザーを識別し、ユーザーID認証時に使用されたものと同じユーザーIDを割り当てます。
  11. あなたのサーバーは2xxコードで応答し、ユーザーIDを含むJSON本文を返します。
  12. ウェブショップはユーザー属性を保存し、ウェブフック応答からのデータをJWTのpartner_dataフィールドに追加します。
  13. キー名マップにserver_custom_idのキーが含まれており、かつアカウント連携が有効になっている場合、ウェブショップは受信したユーザーデータをキー名マップに基づいてプロフィールプロパティにマッピングし、アカウントをリンクします。
  14. ウェブショップは、ユーザーIDログイン時に使用されたのと同じアカウントにユーザーを認証します。
この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。

続きを読む

最終更新日: 2025年9月19日

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

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!
フィードバックを送信できませんでした
後でもう一度お試しいただくか、doc_feedback@xsolla.comまでお問い合わせください。