> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Account マスターデータリファレンス

マスターデータのフォーマットと インポートする各種モデルのリファレンス




## マスターデータのフォーマット


**JSON**
```json
{
  "version": "2024-07-30",
  "takeOverTypeModels": [
    {
      "type": "[int]スロット番号",
      "metadata": "[string?]メタデータ",
      "openIdConnectSetting": {
        "configurationPath": "[string]OpenID Connect 設定 URL",
        "clientId": "[string]クライアントID",
        "clientSecret": "[string]クライアントシークレット",
        "appleTeamId": "[string]Apple Developer チームID",
        "appleKeyId": "[string]Apple に登録済みのキーID",
        "applePrivateKeyPem": "[string]Apple から受け取った秘密鍵",
        "doneEndpointUrl": "[string?]認証完了時に遷移するURL",
        "additionalScopeValues": [
          {
            "key": "[string]名前",
            "value": "[string?]値"
          }
        ],
        "additionalReturnValues": [
          "[string]OpenID Connect で取得する追加の返却値"
        ]
      }
    }
  ]
}
```


|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| version | string | | ✓ | 2024-07-30 | | マスターデータのフォーマットバージョン |
| takeOverTypeModels | [List&lt;TakeOverTypeModel&gt;](#takeovertypemodel) |  |  |  |  ~ 1000 items | 引き継ぎ情報タイプモデル<br>引き継ぎ情報を定義するモデルです。<br><br>引き継ぎ情報とは、デバイスの機種変更やプラットフォーム間のアカウントの移動・共有時に使用する情報です。<br>個人を識別するユニークな文字列とパスワードで構成され、その適切な組み合わせを入力することで、Account(匿名アカウント)を取得することができます。<br><br>1つの Account に対して複数の引き継ぎ情報を設定できます。<br>複数の引き継ぎ情報を設定するにはそれぞれ異なるスロットを指定する必要があります。<br>スロットには0～1024を指定できますので、最大1025種類の引き継ぎ情報を設定可能です。<br><br>具体的な用例としては 0 には Sign in with Apple のアカウント情報を、1 には Google のアカウント情報を保存するようにする、というような使い方が想定されています。<br>あくまでこの引き継ぎ情報はデータホルダーであり、ソーシャルアカウントとの認証の仕組みは別途用意する必要があります。 |

## モデル

### TakeOverTypeModel

引き継ぎ情報タイプモデル<br>

引き継ぎ情報を定義するモデルです。<br>

引き継ぎ情報とは、デバイスの機種変更やプラットフォーム間のアカウントの移動・共有時に使用する情報です。<br>
個人を識別するユニークな文字列とパスワードで構成され、その適切な組み合わせを入力することで、Account(匿名アカウント)を取得することができます。<br>

1つの Account に対して複数の引き継ぎ情報を設定できます。<br>
複数の引き継ぎ情報を設定するにはそれぞれ異なるスロットを指定する必要があります。<br>
スロットには0～1024を指定できますので、最大1025種類の引き継ぎ情報を設定可能です。<br>

具体的な用例としては 0 には Sign in with Apple のアカウント情報を、1 には Google のアカウント情報を保存するようにする、というような使い方が想定されています。<br>
あくまでこの引き継ぎ情報はデータホルダーであり、ソーシャルアカウントとの認証の仕組みは別途用意する必要があります。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| takeOverTypeModelId | string |  | ※ |  |  ~ 1024文字 | 引き継ぎ情報タイプモデルGRN<br>※ サーバーが自動で設定 |
| type | int |  | ✓ |  | 0 ~ 1024 | スロット番号<br>0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| openIdConnectSetting | [OpenIdConnectSetting](#openidconnectsetting) |  | ✓ |  |  | OpenID Connect の設定<br>OpenID Connect 準拠の Identity Provider (IdP) と連携するための設定です。ディスカバリURL、クライアント認証情報、Apple Sign In パラメータなどのプラットフォーム固有の設定が含まれます。 |

---

### OpenIdConnectSetting

OpenID Connect の設定<br>

OpenID Connect 準拠の IdP の設定を登録することで、アカウントの引き継ぎ情報として IdP 連携を利用できるようになります。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| configurationPath | string |  | ✓ |  |  ~ 1024文字 | OpenID Connect 設定 URL<br>OpenID Connect プロバイダーのディスカバリエンドポイント URL です。well-known 形式（例：https\://example.com/.well-known/openid-configuration）に従う必要があります。 |
| clientId | string |  | ✓ |  |  ~ 1024文字 | クライアントID<br>IdP に登録されたアプリケーションのクライアントIDです。 |
| clientSecret | string | {configurationPath} != "https\://appleid.apple.com/.well-known/openid-configuration" | ✓※ |  |  ~ 1024文字 | クライアントシークレット<br>※ configurationPath が "https\://appleid.apple.com/.well-known/openid-configuration" 以外の、その他の IdP 連携であれば 必須 |
| appleTeamId | string | {configurationPath} == "https\://appleid.apple.com/.well-known/openid-configuration" | ✓※ |  |  ~ 1024文字 | Apple Developer チームID<br>Apple Developer アカウントのチームIDです。Sign in with Apple 認証に必要です。<br>※ configurationPath が "https\://appleid.apple.com/.well-known/openid-configuration" であれば 必須 |
| appleKeyId | string | {configurationPath} == "https\://appleid.apple.com/.well-known/openid-configuration" | ✓※ |  |  ~ 1024文字 | Apple に登録済みのキーID<br>Sign in with Apple 用に Apple Developer アカウントに登録されたキーIDです。<br>※ configurationPath が "https\://appleid.apple.com/.well-known/openid-configuration" であれば 必須 |
| applePrivateKeyPem | string | {configurationPath} == "https\://appleid.apple.com/.well-known/openid-configuration" | ✓※ |  |  ~ 10240文字 | Apple から受け取った秘密鍵<br>Apple Developer ポータルからダウンロードした PEM 形式の秘密鍵です。Sign in with Apple 認証に必要です。<br>※ configurationPath が "https\://appleid.apple.com/.well-known/openid-configuration" であれば 必須 |
| doneEndpointUrl | string |  |  |  |  ~ 1024文字 | 認証完了時に遷移するURL<br>未指定の場合 /authorization/done に遷移します。<br>Query String に id_token が付与されます。 |
| additionalScopeValues | [List&lt;ScopeValue&gt;](#scopevalue) |  |  | [] | 0 ~ 10 items | OpenID Connect で取得する追加のスコープ<br>デフォルトの OpenID Connect スコープに加えて IdP にリクエストする追加の OAuth スコープです。認証時に追加のユーザー情報を取得することができます。 |
| additionalReturnValues | List&lt;string&gt; |  |  | [] | 0 ~ 10 items | OpenID Connect で取得する追加の返却値<br>ID トークンまたは UserInfo レスポンスから返却値に含める追加のクレーム名です。指定されたクレームが抽出され、標準の認証結果とともに返却されます。 |

---

### ScopeValue

スコープ値<br>

OpenID Connect 認証時に取得される追加の OAuth スコープ値を表すキーと値のペアです。標準の OpenID Connect クレーム以外に IdP から取得した追加データの保存に使用されます。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| key | string |  | ✓ |  |  ~ 64文字 | 名前<br>認証時に IdP に対してリクエストしたスコープ名です。 |
| value | string |  |  |  |  ~ 51200文字 | 値<br>対応するスコープに対して IdP から返却された値です。 |

---



