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

# クライアントが開始するバックチャネル認証フロー

> クライアントが開始するバックチャネル認証フローの仕組みについて説明します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  現在、クライアントが開始するバックチャネル認証は早期アクセスで利用できます。CIBAを有効化するには、テクニカルアカウントマネージャーまでお問い合わせください。
</Callout>

クライアントが開始するバックチャネル認証（CIBA）フローは、分離型認証フローに関する<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=openid" tip="OpenID: アプリケーションがログイン情報を収集および保存することなくにユーザーのIDを検証できるようにする認証用のオープン標準。" cta="用語集の表示">OpenID</Tooltip> Foundationの標準です。ソリューション開発でこの標準を使用することにより、IDやアクセストークンを受け取るデバイス、または消費デバイス上で直接ログインするのではなく、別の認証デバイス上でログインする認証フローを構築できます。

## ユースケース

以下のユースケースにCIBAフローを使用できます。

* あるユーザーがコールセンターに電話をかけてきた際に、それに対応するエージェントが、そのユーザーのコンピューターにある個人情報にアクセスできるようにする場合。電話をかけてきたユーザーは、携帯電話でプッシュ通知を承認することで、この操作に同意できます。
* ユーザーが、街中でレンタルする自転車や小売店のキオスクなど、入力機能が限られているデバイスにアクセスしたい場合。
* ユーザーが、比較的セキュリティの低いデバイスで機密性の高いトランザクションを開始し、それよりもセキュリティの高いデバイスでそのトランザクションを承認する場合。例えば、個人の携帯電話にプッシュ通知が届いた後で、機密性の高いトランザクションを承認するなどということが考えられます。

## 仕組み

CIBAフローはログインや認証の処理について、クライアントアプリケーションがブラウザーでユーザーをリダイレクトすることに依存しません。その代わりに、クライアントアプリケーションがバックチャネル要求を通して直接OpenIDプロバイダーを呼び出し、認証フローを開始します。

CIBAフローは付与を作成または更新しません。そのため、クライアントアプリケーションがCIBAフロー経由で特定のスコープを要求した場合、ユーザーが同意すれば、そのスコープは付与として保存されません。つまり、設定されている場合、同じスコープを要求する別の認証フロー（付与タイプ）では、ユーザーに<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=oath2" tip="OAuth 2.0: 認可プロトコルとワークフローを定義する認可フレームワーク。" cta="用語集の表示">OAuth</Tooltip>の同意を再度求める必要があります。

CIBAフローにはセッション（ブラウザークッキー）がないため、CIBAチャレンジの前にユーザーが認証を受ける必要はありません。CIBAチャレンジの前にすでにユーザーが認証を受けている場合、既存のセッションには影響しません。

下の図はCIBAフローを示しています。

<Frame>
  <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/lj4yKtFBkRd_2GRB/docs/images/ja-jp/cdy7uua7fh8z/4MAnVR9sNU2OtlGQ12taaV/bdce6f473d73c0c3e5da6ec7c4246b90/Screenshot_2025-01-13_at_4.15.04_PM.png?fit=max&auto=format&n=lj4yKtFBkRd_2GRB&q=85&s=1ea6785c8d368fc0a0032488ec21cbff" alt="" width="1332" height="736" data-path="docs/images/ja-jp/cdy7uua7fh8z/4MAnVR9sNU2OtlGQ12taaV/bdce6f473d73c0c3e5da6ec7c4246b90/Screenshot_2025-01-13_at_4.15.04_PM.png" />
</Frame>

1. クライアントアプリケーションまたは消費デバイスがユーザー認証を要求します。
2. クライアントアプリケーションのバックエンドが`/bc-authorize`エンドポイントにPOST要求を送信します。
3. Auth0がこのPOST要求を受信し、認証デバイスにプッシュ通知を送信します。
4. 認証デバイスはAuth0から同意の詳細を取得し、エンドユーザーに提示します。
5. エンドユーザーは認証デバイス上で応答を入力し、認証デバイスからAuth0にユーザーの応答が送信されます。
6. クライアントアプリケーションのバックエンドが`/token`エンドポイントをポーリングし、CIBAフローが完了すると適切なトークンを受け取ります。

| トピック...                                                                                                                                                                                       | 説明...                               |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| [Configure Client-Initiated Backchannel Authentication（クライアントが開始するバックチャネル認証を設定する）](/docs/ja-jp/get-started/applications/configure-client-initiated-backchannel-authentication)                | アプリケーションに対してCIBA付与タイプを構成する方法。       |
| [User Authentication with CIBA（CIBAを使ったユーザー認証）](/docs/ja-jp/get-started/authentication-and-authorization-flow/client-initiated-backchannel-authentication-flow/user-authentication-with-ciba) | CIBAフローを使用してユーザーを認証するための方法を段階ごとに説明。 |
