> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> セッションメタデータに組織のメタデータを追加する方法を学びます

# ユースケース: セッションメタデータ内の組織情報

セッションメタデータを使用すると、ユーザーコンテキストのデータをセッションのライフサイクル全体およびログアウトイベントで共有し、参照できるようになります。

ダウンストリームシステムは、セッションメタデータの情報を使用して、監査の実施、分析の実行、失効パイプラインの適用などを行えます。

<Warning>
  Auth0 Session Metadata はセキュアなデータストアではないため、機密情報の保存には使用しないでください。これには、シークレットや、社会保障番号、クレジットカード番号などの高リスクな PII が含まれます。Auth0 のお客様には、メタデータに保存するデータを評価し、アイデンティティおよびアクセス管理の目的に必要なものだけを保存することを強く推奨します。詳細については、[Auth0 の GDPR コンプライアンス](/ja/docs/secure/data-privacy-and-compliance/gdpr) を参照してください。
</Warning>

<div id="add-organization-information-to-session-metadata">
  ## 組織情報をセッションメタデータに追加する
</div>

[Actions](/ja/docs/customize/actions) を使用すると、[post-login](/ja/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger) の `api.session.setMetadata()` メソッドで組織の識別子をセッションに保存し、`event.session.metadata` オブジェクトを使って参照できます。

Post-Login Action コード:

```javascript lines theme={null}
/**
 * Post-Login Action（シンプル版）
 * 組織のコンテキストをセッションメタデータに追加し、後続のActions、
 * Management API、および（有効な場合）バックチャネルログアウトトークンに反映させます。
 */
exports.onExecutePostLogin = async (event, api) => {
  // トランザクションが組織を対象とする場合のみ処理を続行する
  if (!event.organization) return;

  // 値は短く文字列のみにする（セッションメタデータには文字列が必要）
  const orgId = String(event.organization.id || "");
  const orgSlug = String(event.organization.name || "");
  const orgDisplay = String(event.organization.display_name || orgSlug);

  // 最小限の冪等な書き込み（制限を十分に下回るよう、キー数を少なく抑える）
  api.session.setMetadata("org_id", orgId);
  api.session.setMetadata("org_slug", orgSlug);
  api.session.setMetadata("org_name", orgDisplay);
};
```

セッションメタデータは後続のActionsで利用でき、[Management API](https://auth0.com/docs/api/management/v2)から取得することも、[OpenID Connect バックチャネルログアウト](/ja/docs/authenticate/login/logout/back-channel-logout)トークンに含めることもできます。

* 後続のActionsでは、`event.session.metadata`オブジェクトを通じてデータを参照できます。

```javascript lines theme={null}
const orgId = event.session.metadata?.org_id;
```

* Management API を使用している場合は、[/api/v2/sessions/{id}](https://auth0.com/docs/api/management/v2/sessions/get-session) エンドポイント経由でデータを照会できます。

```bash lines theme={null}
GET /api/v2/sessions/{id}
```

レスポンス例:

```json lines theme={null}
{
  "session_metadata": {
    "org_id": "org_abc123",
    "org_slug": "acme",
    "org_name": "Acme Corp"
  }
}
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  `/api/v2/sessions/{id}` エンドポイントを呼び出すには、`update:session` スコープを持つ [Management API アクセストークン](/ja/docs/secure/tokens/access-tokens) が必要です。
</Callout>

* アプリケーションで [OIDC バックチャネルログアウトのセッションメタデータ](/ja/docs/manage-users/sessions/session-metadata/configure-session-metadata) を設定している場合、`logout_token` にはセッションメタデータが含まれます:

```json lines theme={null}
{
  "events": { "http://schemas.openid.net/event/backchannel-logout": {} },
  "session_metadata": {
    "org_id": "org_abc123",
    "org_slug": "acme",
    "org_name": "Acme Corp"
  }
}
```
