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

# クライアントが開始するバックチャネル認証を設定する

> テナントに対してクライアントが開始するバックチャネル認証を構成する方法について説明します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  クライアントが開始するバックチャネル認証（CIBA）機能を使用するには、エンタープライズプランまたは適切なアドオンが必要です。詳しくは、「\[Auth0の価格設定]」([https://auth0.com/pricing/)を確認してください。](https://auth0.com/pricing/\)を確認してください。)
</Callout>

[クライアントが開始するバックチャネル認証（CIBA）フロー](/docs/get-started/authentication-and-authorization-flow/client-initiated-backchannel-authentication-flow)は、OpenID Foundationが定義する分離型認証・認可フローです。CIBAフローは、CIBAリクエストを開始するデバイス（消費デバイス）とユーザーが認証に使用するデバイス（認証デバイス）が異なる非同期ワークフローで利用できます。

CIBAをAuth0で構成するには、以下を行う必要があります。

* [アプリケーションに対してCIBA付与タイプを構成する](#configure-ciba-grant-type-for-your-application)
* [アプリケーションの通知チャネルを有効にする](#enable-notification-channels-for-your-application)
* [CIBAの通知チャネルを構成する](#configure-notification-channel)

## 前提条件

アプリケーションのCIBAを構成する前に、アプリケーションの[認証方法](/docs/secure/application-credentials#application-authentication-methods)を必ず設定してください。CIBAフローには、mTLS認証、秘密鍵<Tooltip tip="JSON Web Token (JWT): Standard ID Token format (and often Access Token format) used to represent claims securely between two parties." cta="View Glossary" href="/docs/glossary?term=JWT">JWT</Tooltip>、<Tooltip tip="JSON Web Token (JWT): Standard ID Token format (and often Access Token format) used to represent claims securely between two parties." cta="View Glossary" href="/docs/glossary?term=Client+Secret">クライアントシークレット</Tooltip>認証を含む、どの認証方法でも使用できます。

アプリケーションの認証方法を設定するには、「\[資格情報の設定]」(/docs/get-started/applications/credentials)をお読みください。

## アプリケーションに対してCIBA付与タイプを構成する

アプリケーションに対してCIBA付与タイプを構成するには、[Auth0 Dashboard](https://manage.auth0.com/)または[Management API](https://auth0.com/docs/api/management/v2)を使用します。

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で［アプリケーション］ > ［アプリケーション］に移動します。**
    2. アプリケーションを作成したら、\*\*［付与タイプ］**タブで**［クライアントが開始するバックチャネル認証（CIBA）］\*\*を有効にします。

    <Frame>
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/54TD5VRQVAOWxBdnFEpvTT/223866f22f6c3ddfa87e48221d69ba58/CIBA_grant_-_English.png" alt="" />
    </Frame>

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

  <Tab title="Management API">
    Management APIでアプリケーションのCIBAを構成するには、[クライアントの更新](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://{yourDomain}.auth0.com/api/v2/clients/{clientId}' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <YOUR_MANAGEMENT_API_TOKEN>' \
    --data '{
        "grant_types": [
            "authorization_code",
            "refresh_token",
            "urn:openid:params:grant-type:ciba"
        ]
    }'
    ```

    また、Go Management API SDKライブラリーもご利用できます。詳しくは、「\[SDK]」(/docs/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>

## アプリケーションの通知チャネルを有効にする

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  クライアントが開始するバックチャネル認証（CIBA）機能を使用するには、エンタープライズプランまたは適切なアドオンが必要です。詳しくは、「\[Auth0の価格設定]」([https://auth0.com/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でアプリケーションの通知チャネルを構成する手順はこちらです。

    * \*\*［アプリケーション］ > ［アプリケーション］\*\*に移動します。
    * アプリケーションの設定で\*\*［クライアントが開始するバックチャネル認証（CIBA）］\*\*セクションに移動し、有効にする通知チャネルを選択します。

    <Frame>
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/ciba/enable_notification_channel_for_app.png" alt="" />
    </Frame>
  </Tab>

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

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

    ```bash lines theme={null}
    curl -L --request PATCH 'https://{yourDomain}/api/v2/clients/{clientId}' \
    -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>

## 通知チャネルを構成する

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

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

### モバイルプッシュ通知を構成する

CIBAでモバイルプッシュ通知を送信するには、以下を使用できます。

* Auth0 Guardianアプリ
* Auth0 Guardian SDKと統合されたカスタムアプリ

[Auth0 Guardianのプッシュ通知を有効化](/docs/get-started/applications/configure-client-initiated-backchannel-authentication#enable-auth0-guardian-push-notifications)する際に、使用するアプリを選択できます。カスタムアプリを使用したい場合は、そのアプリを[Auth0 Guardian SDK](/docs/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)

#### Auth0 Guardianのプッシュ通知を有効にする

Auth0 Dashboardを使用して、テナントに対して[Auth0 Guardianのプッシュ通知](/docs/secure/multi-factor-authentication/auth0-guardian#enroll-in-push-notifications)要素を有効にします。

Auth0 Dashboardで以下を行います。

* **［セキュリティ］ > ［多要素認証］を選択します。**

* \*\*［Auth0 Guardianを用いたプッシュ通知］\*\*を有効にします。これには、<Tooltip tip="Multi-factor authentication (MFA): User authentication process that uses a factor in addition to username and password such as a code via SMS." cta="View Glossary" href="/docs/glossary?term=MFA">MFA</Tooltip>の設定が必要になる場合があります。詳しくは、「\[MFA用プッシュ通知を構成する]」(/docs/secure/multi-factor-authentication/multi-factor-authentication-factors/configure-push-notifications-for-mfa)をお読みください。

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/7JKyznvsjTupJpTU7NwdSA/54b04e5b734226e1ee73c4165048b4f6/image2.png" alt="" />
</Frame>

* \*\*［プッシュ通知アプリ］\*\*で希望するアプリを選択します。

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/ciba/push_notification_app.png" alt="" />
</Frame>

* \*\*［保存］\*\*をクリックします。

#### 認可するユーザーをプッシュ通知を用いたMFAに登録する

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

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

ユーザーが<Tooltip tip="Auth0 Dashboard: Auth0's main product to configure your services." cta="View Glossary" href="/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>に登録されているかどうかを確認するには、\*\*［ユーザー管理］ > ［ユーザー］\*\*に移動して、該当するユーザーをクリックします。

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/21qtk4F1cOQHMpbXxXYu75/51ba9c5fd1457ffee3f73893acf3c97f/Screenshot_2025-01-13_at_4.13.44_PM.png" alt="" />
</Frame>

テナントで<Tooltip tip="Multi-factor authentication (MFA): User authentication process that uses a factor in addition to username and password such as a code via SMS." cta="View Glossary" href="/docs/glossary?term=Multi-factor+Authentication">多要素認証</Tooltip>を常に必須に設定すると、ユーザーは次回のログイン時にMFAへの登録を求められます。MFA登録を求めるには、[Actions](https://auth0.com/blog/using-actions-to-customize-your-mfa-factors/)も使用できます。

### メール通知を構成する

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

CIBAフローでメール通知を送信できます。CIBAのメール通知を構成するには、以下を行ってください。

* [メールプロバイダーを構成する](#configure-your-email-provider)
* [メールテンプレートを構成](#configure-your-email-template)して**非同期承認**テンプレートを使用する
* [認可するユーザーに検証済みメールアドレスがあることを確認する](#ensure-the-authorizing-user-has-a-verified-email-address)

#### メールプロバイダーを構成する

開発環境とテスト環境では、テストメールの配信にAuth0の組み込みのメールプロバイダーを使用できますが、本番環境では、ご自身のメールプロバイダーをセットアップして、CIBAのメール通知を使用する必要があります。

独自のメールプロバイダーをセットアップする方法について詳しくは、「\[メールのカスタマイズ]」(/docs/customize/email)をお読みください。

#### メールテンプレートを構成する

以下の方法で**非同期承認**メールテンプレートを構成します。

<Tabs>
  <Tab title="Auth0 Dashboard">
    1. \*\*［ブランディング］ > ［メールテンプレート］\*\*に移動します。
    2. \*\*［テンプレート］**のドロップダウンメニューから**［非同期承認］\*\*を選択します。
    3. [テンプレートフィールドを構成する](/docs/customize/email/email-templates#configure-template-fields)の手順に従って残りのテンプレート設定を入力します。
  </Tab>

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

    ```bash lines theme={null}
    curl -L "https://{yourDomain}.auth0.com/api/v2/email-templates" \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H "Authorization: Bearer <YOUR_MANAGEMENT_API_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>

#### 認可するユーザーに検証済みメールアドレスがあることを確認する

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

CIBAでメール通知を送信するには、認可するユーザーに、そのユーザーアカウントに紐づけられた検証済みメールアドレスが必要です。

ユーザーに検証済みメールアドレスがあるかどうかを確認するには、Auth0 Dashboardで以下を行います。

1. \*\*［ユーザー管理］ > ［ユーザー］\*\*に移動して、該当するユーザーをクリックします。
2. \*\*［メール］\*\*にユーザーの検証済みメールアドレスが表示されるはずです。
