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

# 匿名セッションを設定する

> Auth0 Dashboard または Management API を使用して匿名セッションを設定する方法を説明します。

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "Beta",
    "ea": "早期アクセス"
  };
  const stageText = stageTextMap[stage] || "製品リリース段階";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>この機能は{linkify(`${plans}プラン`, "https://auth0.com/pricing")}でご利用いただけます。 </>}
            {contact && "参加をご希望の場合は、" + contact + "までお問い合わせください。 "}
            {terms && <>この機能を使用することにより、Oktaの該当する無料トライアル規約および{linkify("Master Subscription Agreement", "https://www.okta.com/legal")}に同意したものとみなされます。</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>{feature}機能は現在、{linkify(stageText, prsLink)}です。</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<ReleaseStageNotice feature="匿名セッション" stage="ea" plans="エンタープライズ" contact="担当のアカウントエグゼクティブ" />

匿名セッションを設定するには、[Auth0 Dashboard](/docs/ja-jp/get-started/auth0-overview/dashboard)または[Management API](/docs/ja-jp/api/management/v2)を使用します。

<h2 id="prerequisites">
  前提条件
</h2>

匿名セッションを使用するには、以下が必要です。

* [Auth0 アカウントを作成](https://auth0.com/)します。
* [Auth0 アプリケーションを登録](/docs/ja-jp/get-started/auth0-overview/create-applications)します。Auth0 アプリケーションがない場合は、Auth0 React または Next.js 向けの[Quickstarts](https://auth0.com/docs/quickstart/spa/react)から始めることができます。
* [API (リソースサーバー) を登録](/docs/ja-jp/get-started/auth0-overview/set-up-apis)します。

<h2 id="configure-anonymous-sessions">
  匿名セッションを設定する
</h2>

<Tabs>
  <Tab title="Auth0 Dashboard">
    1. [**Dashboard > Tenant Settings > Advanced**](https://manage.auth0.com/#/tenant/advanced)に移動し、下へスクロールしてセッション設定を表示します。

           <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-automated-translations-update/docs/images/sessions/anonymous_sessions/anonymous_sessions.png" alt="Auth0 DashboardのTenant設定ページ" />

    2. **Anonymous Session Lifetime**に分単位で値を入力します。

    3. 匿名セッションのリクエストで`auth0_anon`クッキーを返すかどうかは、**Anonymous Session Cookie**スイッチの有効／無効で制御します。
  </Tab>

  <Tab title="Management API">
    匿名セッションのライフタイムとクッキーの動作を設定するには、[`/api/v2/tenants/settings`](/docs/ja-jp/api/management/v2/tenants/patch-settings)エンドポイントに`PATCH`リクエストを送信します。

    ```json theme={null}
    {
      "sessions": {
        "anonymous": {
          "lifetime_in_minutes": 144000,
          "activate_cookie": true
        }
      }
    }
    ```

    * `lifetime_in_minutes`は、セッションの有効期間を設定します。
    * `activate_cookie`は、匿名フローで`auth0_anon`クッキーを発行するかどうかを設定します。代わりに[クッキーレスの転送チケットの仕組み](/docs/ja-jp/manage-users/sessions/anonymous-sessions#transfer-a-session-through-a-transfer-ticket)を使用する計画の場合は、`false`に設定します。
  </Tab>
</Tabs>

<h2 id="enable-anonymous-sessions-in-your-application">
  アプリケーションで匿名セッションを有効にする
</h2>

<Tabs>
  <Tab title="Auth0 Dashboard">
    1. [**Dashboard > Applications > Applications**](https://manage.auth0.com/#/applications)に移動し、構成したいアプリケーションを選択します。

    2. 下にスクロールして、**Anonymous Sessions**の設定を表示します。

           <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-automated-translations-update/docs/images/sessions/anonymous_sessions/anonymous_sessions_application.png" alt="Auth0 DashboardのApplications設定ページ" />

    3. **Allow Anonymous Sessions**のスイッチを有効にします。
  </Tab>

  <Tab title="Management API">
    Auth0アプリケーションで匿名セッションを有効にするには、[`/api/v2/clients/{id}`](/docs/ja-jp/api/management/v2/clients/patch-clients-by-id)エンドポイントに`PATCH`リクエストを送ります。

    ```json theme={null}
    {
      "anonymous_sessions": {
        "active": true
      }
    }
    ```
  </Tab>
</Tabs>

<h2 id="enable-anonymous-access-in-your-api">
  APIで匿名アクセスを有効にする
</h2>

<Tabs>
  <Tab title="Auth0 Dashboard">
    1. [**Dashboard > Applications > APIs**](https://manage.auth0.com/#/apis)に移動し、設定するAPIを選択します。

    2. **Access token expiration**セクションで、**Anonymous Access Token Lifetime**を秒単位で設定します。最小値は1日 (86400秒) 、最大値は30日 (2592000秒) です。

           <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-automated-translations-update/docs/images/sessions/anonymous_sessions/anonymous_sessions_api.png" alt="Auth0 DashboardのAPI設定ページ" />

    3. **Application Access Policy**で**Anonymous Access**ポリシーを**Per-app authorization**に設定すると、このオーディエンスをアクセストークンのオーディエンスとする匿名セッションが利用できるようになります。

           <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-automated-translations-update/docs/images/sessions/anonymous_sessions/anonymous_sessions_api_policy.png" alt="Auth0 DashboardのApplication access policy設定ページ" />
  </Tab>

  <Tab title="Management API">
    APIで匿名セッションを有効にするには、[`/api/v2/resource-servers/{id}`](/docs/ja-jp/api/management/v2/resource-servers/patch-resource-servers-by-id)エンドポイントに`PATCH`リクエストを送信します。

    ```json theme={null}
    {
      "token_lifetime_for_anonymous_access_tokens": 86400,
      "subject_type_authorization": {
        "user":           { "policy": "allow_all" },
        "client":         { "policy": "deny_all" },
        "anonymous_user": { "policy": "require_client_grant" }
      }
    }
    ```

    * `token_lifetime_for_anonymous_access_tokens`は、このAPIが匿名セッションのコンテキストで発行するアクセストークンの有効期限を秒単位で設定します。
    * `subject_type_authorization.anonymous_user`は、個々のアプリケーションが匿名セッションでこのAPIを使用できるか (ポリシーに基づいて判断) 、それともこのAPIが匿名アクセストークンの発行を一切許可しないかを設定します。
  </Tab>
</Tabs>

<h2 id="create-an-api-access-policy-for-anonymous-users">
  匿名ユーザー向けのAPI Accessポリシーを作成する
</h2>

<Tabs>
  <Tab title="Auth0 Dashboard">
    1. [**Dashboard > Applications > APIs**](https://manage.auth0.com/#/apis)に移動し、構成するAPIを選択します。

    2. **［Application Access］** タブを選択します。

    3. 匿名コンテキストでこのAPIにアクセストークンを発行させたいアプリケーションごとに、**［Edit］** を選択します。

           <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-automated-translations-update/docs/images/sessions/anonymous_sessions/anonymous_sessions_api_application_access.png" alt="Auth0 DashboardのAPIアプリケーションアクセス設定ページ" />

    4. **［Anonymous Access］** を選択し、このアプリケーションの使用時に匿名ユーザーへ付与する権限を **［Configure］** で構成します。

           <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-automated-translations-update/docs/images/sessions/anonymous_sessions/anonymous_sessions_api_anonymous_access_drawer.png" alt="Auth0 DashboardのApplications設定ページ" />

    5. **［Save］** を選択します。
  </Tab>

  <Tab title="Management API">
    APIで匿名セッションを有効にしたら、[`/api/v2/client-grants`](/docs/ja-jp/api/management/v2/client-grants/post-client-grants)エンドポイントに`POST`リクエストを送信します。

    ```json theme={null}
    {
      "audience": "YOUR_AUDIENCE",
      "client_id": "YOUR_CLIENT_ID",
      "scope": [ "read", "write", "delete" ],
      "subject_type": "anonymous_user"
    }
    ```
  </Tab>
</Tabs>

<h2 id="create-an-anonymous-session">
  匿名セッションを作成する
</h2>

テナント、アプリケーション、API で匿名セッションを設定したら、`/anonymous/token` エンドポイントに `POST` リクエストを送信することで、匿名セッションを作成できます。

```json theme={null}
{
  "client_id": "YOUR_CLIENT_ID",
  "client_secret": "YOUR_CLIENT_SECRET", // コンフィデンシャルクライアントの場合
  "audience": "YOUR_AUDIENCE",
  "scope": "anon"
}
```

レスポンスには、`session_token`と`access_token`が含まれます。

```json theme={null}
{
  "session_token": "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0...",
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 86400
}
```

<h2 id="configure-custom-claims">
  カスタムクレームを構成する
</h2>

カスタムクレームを構成すると、匿名セッションのmetadataを、特定のオーディエンス向けに発行されるアクセストークンに直接mapできます。

これが役立つのは、匿名セッションでは[`post-login`](/docs/ja-jp/customize/actions/explore-triggers/post-login)アクションが実行されず、認証済みのアクセストークンの場合のように`api.accessToken.setCustomClaim()`で匿名アクセストークンを拡張できないためです。詳細については、[匿名セッションのカスタムクレームを構成する](/docs/ja-jp/manage-users/sessions/anonymous-sessions/configure-custom-claims-for-anonymous-sessions)をお読みください。

<h2 id="next-steps">
  次のステップ
</h2>

<Card title="匿名セッションのユースケース" icon="lightbulb" href="/docs/ja-jp/manage-users/sessions/anonymous-sessions/anonymous-sessions-use-cases" horizontal>
  匿名セッションのユースケースについて詳しく説明します。
</Card>
