> ## 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.

> テナント向けにクライアント主導のバックチャネル認証を設定する方法を説明します。

# クライアント主導のバックチャネル認証を設定する

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  クライアント主導のバックチャネル認証 (CIBA) 機能を利用するには、Enterprise プランまたは適切なアドオンが必要です。詳しくは [Auth0 Pricing](https://auth0.com/pricing/) をご覧ください。
</Callout>

[クライアント主導のバックチャネル認証 (CIBA) フロー](/docs/ja-jp/get-started/authentication-and-authorization-flow/client-initiated-backchannel-authentication-flow) は、OpenID Foundation によって定義された、認証と認可を分離したフローです。CIBA フローは、CIBA リクエストを開始するデバイス (利用デバイス) と、ユーザーが認証に使用するデバイス (認証デバイス) が異なる非同期ワークフローで使用できます。

Auth0 で CIBA を設定するには、次の作業が必要です。

* [アプリケーションの CIBA グラントタイプを設定する](#configure-ciba-grant-type-for-your-application)
* [アプリケーションの通知チャネルを有効にする](#enable-notification-channels-for-your-application)
* [CIBA の通知チャネルを設定する](#configure-notification-channel)

<div id="prerequisites">
  ## 前提条件
</div>

アプリケーションで CIBA を設定する前に、アプリケーションの[認証方式](/docs/ja-jp/secure/application-credentials#application-authentication-methods)が設定されていることを確認してください。CIBA フローでは、mTLS 認証、Private Key <Tooltip tip="JSON Web トークン (JWT): 2 者間でクレームを安全に表現するために使用される標準的な ID トークン形式（多くの場合、アクセストークン形式でもあります）。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=JWT">JWT</Tooltip>、および <Tooltip tip="JSON Web トークン (JWT): 2 者間でクレームを安全に表現するために使用される標準的な ID トークン形式（多くの場合、アクセストークン形式でもあります）。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Client+Secret">Client Secret</Tooltip> 認証を含め、どの認証方式も使用できます。

アプリケーションの認証方式を設定するには、[Credential Settings](/docs/ja-jp/get-started/applications/credentials)を参照してください。

<div id="configure-ciba-grant-type-for-your-application">
  ## アプリケーションの CIBA グラントタイプを設定する
</div>

[Auth0 Dashboard](https://manage.auth0.com/) または [Management API](https://auth0.com/docs/api/management/v2) を使用して、アプリケーションの CIBA グラントタイプを設定できます。

CIBA グラントタイプを使用できるクライアントの種類には、いくつかの制限があります。CIBA グラントタイプを使用できるのは、次の場合に限られます。

* クライアントがファーストパーティクライアントであること。つまり、`is_first_party` プロパティが `true` であること。
* クライアントが認証メカニズムを備えた機密クライアントであること。つまり、`token_endpoint_auth_method` プロパティが `none` に設定されていないこと。
* クライアントが OIDC 準拠であること。つまり、`oidc_conformant` が `true` であること。これは、すべての新しいクライアントでデフォルトで有効です。

CIBA グラントタイプを有効にすると、アプリケーションで利用可能な[通知チャネル](#enable-notification-channels-for-your-application)の設定が表示されるようになります。

<Tabs>
  <Tab title="Auth0 Dashboard">
    Auth0 Dashboard でアプリケーションの CIBA を設定するには、次の手順を実行します。

    1. Auth0 Dashboard で **Applications > Applications** に移動します。
    2. アプリケーションを作成し、**Grant Types** タブで **Client Initiated Backchannel Authentication (CIBA)** を有効にします。

    <Frame>
      <img src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/54TD5VRQVAOWxBdnFEpvTT/223866f22f6c3ddfa87e48221d69ba58/CIBA_grant_-_English.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=6042c224006476262ae2813bafe7cea4" alt="" width="1192" height="550" data-path="docs/images/cdy7uua7fh8z/54TD5VRQVAOWxBdnFEpvTT/223866f22f6c3ddfa87e48221d69ba58/CIBA_grant_-_English.png" />
    </Frame>

    3. **変更を保存** をクリックします。
  </Tab>

  <Tab title="Management API">
    Management API を使用してアプリケーションの CIBA を設定するには、[Update a Client](https://auth0.com/docs/api/management/v2/clients/patch-clients-by-id) エンドポイントを使用して、クライアントオブジェクトのグラントタイプの一覧に `urn:openid:params:grant-type:ciba` を追加します。

    ```bash lines theme={null}
    curl --location --request PATCH 'https://{YOUR_DOMAIN}.auth0.com/api/v2/clients/{YOUR_CLIENT_ID}' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer {YOUR_MANAGEMENT_API_ACCESS_TOKEN}' \
    --data '{
        "grant_types": [
            "authorization_code",
            "refresh_token",
            "urn:openid:params:grant-type:ciba"
        ]
    }'
    ```

    Go 用の Management API SDK を使用することもできます。詳しくは、[SDKs](/docs/ja-jp/libraries) を参照してください。

    ```go lines theme={null}
    myClient := &Client{
        Name:        auth0.Stringf("CIBA-enabled-client"),
        Description: auth0.String("This is a CIBA enabled client."),
        GrantTypes:  &[]string{"urn:openid:params:grant-type:ciba"},
      }

      err := api.Client.Create(context.Background(), myClient)
    ```
  </Tab>
</Tabs>

<div id="enable-notification-channels-for-your-application">
  ## アプリケーションの通知チャネルを有効にする
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  クライアント主導のバックチャネル認証 (CIBA) 機能を使用するには、Enterpriseプランまたは適切な add-on が必要です。詳細については、[Auth0 Pricing](https://auth0.com/pricing/) を参照してください。
</Callout>

アプリケーションで CIBA のグラントタイプを有効にすると、CIBA フローで有効にする通知チャネルを設定できます。複数の通知チャネルを有効にしている場合、CIBA は `requested_expiry` パラメーターの値に基づいて使用する通知チャネルを決定します。`requested_expiry` は、CIBA セッションの有効期間の上限を秒単位で指定します。

* [モバイルプッシュ通知](#configure-mobile-push-notifications): `requested_expiry` を 300 秒以下に設定すると、有効になっている場合は CIBA でモバイルプッシュ通知チャネルが使用されます。
* [メール通知](#configure-email-notifications): `requested_expiry` を 301 ～ 259200 秒 (72 時間) に設定すると、有効になっている場合は CIBA でメール通知チャネルが使用されます。

<Tabs>
  <Tab title="Auth0 Dashboard">
    Auth0 Dashboard でアプリケーションの通知チャネルを設定するには、次の手順に従います。

    * **Applications > Applications** に移動します。
    * アプリケーションの設定で **Client Initiated Backchannel Authentication (CIBA)** セクションに移動し、有効にする通知チャネルを選択します。

    <Frame>
      <img src="https://mintcdn.com/translations/xwVvTWJUElMm5YAK/docs/images/ciba/enable_notification_channel_for_app.png?fit=max&auto=format&n=xwVvTWJUElMm5YAK&q=85&s=e97fbff4a996d8fb69c538be34a1be7c" alt="" width="1352" height="436" data-path="docs/images/ciba/enable_notification_channel_for_app.png" />
    </Frame>
  </Tab>

  <Tab title="Management API">
    クライアントアプリケーションの `/api/v2/clients` エンドポイントに `PATCH` リクエストを送信し、CIBA フローの通知チャネルを設定します。

    次のコードサンプルでは、CIBA フローの `guardian-push` 通知チャネルを有効にしています。

    ```bash lines theme={null}
    curl -L --request PATCH 'https://{YOUR_DOMAIN}/api/v2/clients/{YOUR_CLIENT_ID}' \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H "Authorization: Bearer {YOUR_MANAGEMENT_API_ACCESS_TOKEN}" \
    -d '{
        "async_approval_notification_channels":["guardian-push"]
    }'
    ```
  </Tab>
</Tabs>

<div id="configure-notification-channel">
  ## 通知チャネルを設定する
</div>

クライアントアプリケーションで通知チャネルを有効にしたら、CIBAフロー用の通知チャネルを設定します。

* [モバイルプッシュ通知を設定する](#configure-mobile-push-notifications)
* [メール通知を設定する](#configure-email-notifications)

<div id="configure-mobile-push-notifications">
  ### モバイルプッシュ通知を設定する
</div>

CIBA でモバイルプッシュ通知を送信するには、次のいずれかを使用できます。

* Auth0 Guardian アプリ
* Auth0 Guardian SDK を統合したカスタムアプリ

[Auth0 Guardian プッシュ通知を有効にする](/docs/ja-jp/get-started/applications/configure-client-initiated-backchannel-authentication#enable-auth0-guardian-push-notifications)際に、使用するアプリを選択できます。カスタムアプリを使用する場合は、[Auth0 Guardian SDK](/docs/ja-jp/secure/multi-factor-authentication/auth0-guardian#guardian-sdks) を統合する必要があります。これにより、認可を行うユーザーは、CIBA フローによって開始されたプッシュ通知チャレンジをカスタムアプリで承認できるようになります。

モバイルプッシュ通知を設定するには、次を行ってください。

* [Auth0 Guardian プッシュ通知を有効にする](#enable-auth0-guardian-push-notifications)
* [プッシュ通知を使用して認可を行うユーザーを MFA に登録する](#enroll-the-authorizing-user-in-mfa-using-push-notifications)

<div id="enable-auth0-guardian-push-notifications">
  #### Auth0 Guardian のプッシュ通知を有効にする
</div>

Auth0 Dashboard で、テナントの [Auth0 Guardian Push Notification](/docs/ja-jp/secure/multi-factor-authentication/auth0-guardian#enroll-in-push-notifications) 認証要素を有効にします。

Auth0 Dashboard で、次の操作を行います。

* **Security > Multi-factor Auth.** を選択します。

* **使う** を有効にします。これには、いくつかの <Tooltip tip="多要素認証 (MFA): SMS によるコードなど、ユーザー名とパスワードに加えて認証要素を使用する認証プロセスです。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=MFA">MFA</Tooltip> 設定が必要になる場合があります。詳しくは、[MFA 用のプッシュ通知を設定する](/docs/ja-jp/secure/multi-factor-authentication/multi-factor-authentication-factors/configure-push-notifications-for-mfa) を参照してください。

<Frame>
  <img src="https://mintcdn.com/translations/c0RQ9V0YAcT0-8l5/docs/images/cdy7uua7fh8z/7JKyznvsjTupJpTU7NwdSA/54b04e5b734226e1ee73c4165048b4f6/image2.png?fit=max&auto=format&n=c0RQ9V0YAcT0-8l5&q=85&s=e6e461dc2d1859fc025342d76b67e97a" alt="" width="979" height="138" data-path="docs/images/cdy7uua7fh8z/7JKyznvsjTupJpTU7NwdSA/54b04e5b734226e1ee73c4165048b4f6/image2.png" />
</Frame>

* **Push Notification App** で、使用するアプリを選択します。

<Frame>
  <img src="https://mintcdn.com/translations/xwVvTWJUElMm5YAK/docs/images/ciba/push_notification_app.png?fit=max&auto=format&n=xwVvTWJUElMm5YAK&q=85&s=f6790f161bb4da8a02452f0f996e8e7b" alt="" width="1376" height="608" data-path="docs/images/ciba/push_notification_app.png" />
</Frame>

* **Save** をクリックします。

<div id="enroll-the-authorizing-user-in-mfa-using-push-notifications">
  #### プッシュ通知を使う多要素認証に認可を行うユーザーを登録する
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  ユーザーが多要素認証のプッシュ通知を利用するよう登録されていない場合、Auth0 は CIBA リクエストを拒否する代わりに、設定されていればメール通知を使用します。
</Callout>

Auth0 Guardian アプリとカスタムアプリのどちらでも、[プッシュ通知を使う多要素認証に認可を行うユーザーを登録する](/docs/ja-jp/secure/multi-factor-authentication/auth0-guardian#enroll-in-push-notifications)必要があります。

ユーザーが <Tooltip tip="Auth0 Dashboard: サービスを設定するための Auth0 の主要製品です。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> で登録されているか確認するには、**User Management > Users** に移動し、対象のユーザーをクリックします。

<Frame>
  <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/21qtk4F1cOQHMpbXxXYu75/51ba9c5fd1457ffee3f73893acf3c97f/Screenshot_2025-01-13_at_4.13.44_PM.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=eaced7c429b78bdac9d1958820c76ff0" alt="" width="1616" height="1180" data-path="docs/images/cdy7uua7fh8z/21qtk4F1cOQHMpbXxXYu75/51ba9c5fd1457ffee3f73893acf3c97f/Screenshot_2025-01-13_at_4.13.44_PM.png" />
</Frame>

テナントで <Tooltip tip="多要素認証 (MFA): SMS で送信されるコードなど、ユーザー名とパスワードに加えて認証要素を使用するユーザー認証プロセスです。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Multi-factor+Authentication">多要素認証</Tooltip> を常に必須に設定している場合、ユーザーは次回ログイン時に多要素認証への登録を求められます。多要素認証への登録を促すために [Actions](https://auth0.com/blog/using-actions-to-customize-your-mfa-factors/) を使用することもできます。

<div id="configure-email-notifications">
  ### メール通知を設定する
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  CIBA でメール通知を使用するには、有料プランの Auth0 for AI Agents アドオンが必要です。詳しくは、[Auth0 Pricing](https://auth0.com/pricing) をご覧ください。
</Callout>

CIBA フローでは、メール通知を送信できます。CIBA でメール通知を設定するには、次の項目を確認してください。

* [メールプロバイダーを設定する](#configure-your-email-provider)
* **Asynchronous Approval** テンプレートを使用するように、[メールテンプレートを設定する](#configure-your-email-template)
* [認可を行うユーザーのメールアドレスが確認済みであることを確認する](#ensure-the-authorizing-user-has-a-verified-email-address)

<div id="configure-your-email-provider">
  #### メールプロバイダーを設定する
</div>

開発環境やテスト環境では、メール配信のテストに Auth0 の組み込みメールプロバイダーを使用できますが、本番環境で CIBA のメール通知を利用するには、独自のメールプロバイダーを設定する必要があります。

独自のメールプロバイダーの設定方法については、[メールのカスタマイズ](/docs/ja-jp/customize/email)を参照してください。

<div id="configure-your-email-template">
  #### メールテンプレートを設定する
</div>

**Asynchronous Approval** メールテンプレートを設定するには、次の手順に従います。

<Tabs>
  <Tab title="Auth0 Dashboard">
    1. **Branding > メールテンプレート** に移動します。
    2. **Template** で、ドロップダウンメニューから **Asynchronous Approval** を選択します。
    3. [テンプレートフィールドを設定する](/docs/ja-jp/customize/email/email-templates#configure-template-fields) の手順に従って、残りのテンプレート設定を入力します。
  </Tab>

  <Tab title="Management API">
    `/email-templates/async_approval` エンドポイントに `PATCH` リクエストを送信し、[テンプレートフィールドを設定する](/docs/ja-jp/customize/email/email-templates#configure-template-fields) の手順に従って、残りのテンプレート設定を入力します。詳しくは、[メールテンプレートを更新する API ドキュメント](https://auth0.com/docs/api/management/v2/email-templates/patch-email-templates-by-template-name) を参照してください。

    ```bash lines theme={null}
    curl -L "https://{YOUR_DOMAIN}.auth0.com/api/v2/email-templates" \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H "Authorization: Bearer {YOUR_MANAGEMENT_API_ACCESS_TOKEN}" \
    -d '{"template":"async_approval","body":"{{application.name}} says click on {{url}}, binding message: {{binding_message}}","subject":"Action Required","syntax":"liquid","enabled":true,"from":""}'
    ```
  </Tab>
</Tabs>

<div id="ensure-the-authorizing-user-has-a-verified-email-address">
  #### 認可を行うユーザーのメールアドレスが確認済みであることを確認する
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  ユーザーのメールアドレスが確認済みでない場合、Auth0 は CIBA のメールリクエストを拒否します。
</Callout>

CIBA でメール通知を送信するには、認可を行うユーザーのアカウントに、確認済みのメールアドレスが関連付けられている必要があります。

Auth0 Dashboard を使用して、ユーザーのメールアドレスが確認済みであることを確認する手順は次のとおりです。

1. **User Management > Users** に移動し、該当するユーザーをクリックします。
2. **Email** に、確認済みのメールアドレスが表示されていることを確認します。
