> ## 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 Plan または適切なアドオンが必要です。詳細については、[Auth0 Pricing](https://auth0.com/pricing/)を参照してください。
</Callout>

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

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

アプリケーションの認証方法を設定するには、[Credential Settings](/ja/docs/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` であること。
* クライアントが認証メカニズムを備えた confidential クライアントであり、`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. **Save Changes** をクリックします。
  </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](/ja/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>

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

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  クライアント起点バックチャネル認証 (CIBA) 機能を使用するには、Enterprise Plan または適切なアドオンが必要です。詳しくは [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** に移動します。
    * アプリケーション設定の **クライアント起点バックチャネル認証 (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 プッシュ通知を有効にする](/ja/docs/get-started/applications/configure-client-initiated-backchannel-authentication#enable-auth0-guardian-push-notifications)ときに選択できます。カスタムアプリを使用する場合は、[Auth0 Guardian SDK](/ja/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)

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

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

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

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

* **Push Notification using Auth0 Guardian** を有効にします。これには、一部の <Tooltip tip="多要素認証 (MFA): username とパスワードに加えて、SMS で送信される code などの認証要素を使用するユーザー認証プロセス。" cta="用語集を見る" href="/ja/docs/glossary?term=MFA">MFA</Tooltip> 設定が必要になる場合があります。詳細については、[MFA のプッシュ通知を設定する](/ja/docs/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">
  #### プッシュ通知を使用する MFA に承認ユーザーを登録する
</div>

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

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

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

<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 経由の code など、username とパスワードに加えて認証要素を使用するユーザー認証プロセスです。" cta="用語集を見る" href="/ja/docs/glossary?term=Multi-factor+Authentication">多要素認証</Tooltip> を常に必須に設定している場合、ユーザーは次回ログイン時に MFA への登録を求められます。MFA 登録を促すために [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 のメール通知を利用するには、独自のメールプロバイダーを設定する必要があります。

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

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

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

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

  <Tab title="Management API">
    `/email-templates/async_approval` エンドポイントに `PATCH` リクエストを送信し、[テンプレートフィールドを設定する](/ja/docs/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 > ユーザー** に移動し、対象のユーザーをクリックします。
2. **メールアドレス** に、確認済みメールアドレスが表示されていることを確認します。
