現在、クライアントが開始するバックチャネル認証は早期アクセスで利用できます。CIBAを有効化するには、テクニカルアカウントマネージャーまでお問い合わせください。

- 前提条件
- ステップ1:クライアントアプリケーションがCIBA要求を開始する
- ステップ2:Auth0テナントがCIBA要求を確認する
- ステップ3:クライアントアプリケーションが応答をポーリングする
- ステップ4:モバイルアプリケーションがプッシュ通知を受け取る
- ステップ5:モバイルアプリケーションが同意の詳細を取得する
- ステップ6:モバイルアプリケーションが同意の詳細をユーザーに表示する
- ステップ7:モバイルアプリケーションがユーザーの応答をAuth0に送信する
- ステップ8:フローが完了した後でAuth0がユーザーの応答を受け取る
前提条件
CIBAのプッシュ要求を開始するには、認可しているユーザーがプッシュ通知でに登録されていなければなりません。で確認するには、**[User Management(ユーザーの管理)]>[Users(ユーザー)]**に移動して、ユーザーをクリックします。
ステップ1:クライアントアプリケーションがCIBA要求を開始する
ユーザー検索APIを使用して、認可しているユーザーを見つけます。このユーザーのためにCIBA要求を始めてユーザーIDを取得することになります。 認可しているユーザーのユーザーIDを入手したら、Authentication APIまたはAuth0のSDKを使用して、CIBA要求を/bc-authorizeエンドポイントに送信します。
- cURL
- C#
- Go
- Java
ユーザー固有のレート制限があり、認可するユーザーには1分あたり5件を超える要求は送信されません。
ステップ2:Auth0テナントがCIBA要求を確認する
Auth0テナントがPOST要求の受信に成功したら、その要求を参照したauth-req-idのある応答を受け取るはずです。
auth_req_id値はCIBAフローの完了をポーリングするために、/tokenエンドポイントに渡されます。
ステップ3:クライアントアプリケーションが応答をポーリングする
Authentication APIまたはAuth0のSDKを使用して/tokenエンドポイントを呼び出し、urn:openid:params:grant-type:cibaの付与タイプと/bc-authorizeエンドポイントから受け取ったauth_req_idを渡します。
- cURL
- C#
- Go
- Java
/tokenエンドポイントをポーリングします。
ステップ4:モバイルアプリケーションがプッシュ通知を受け取る
Auth0はプッシュ通知をユーザーの登録済みのモバイルアプリまたはモバイルデバイスに送信します。Guardian SDKにはプッシュ通知で受け取ったデータを解析するメソッドが備わっているため、即座に使えるNotificationインスタンスを返します。NotificationインスタンスにはトランザクションリンクIDまたはtxlinkidが含まれており、モバイルアプリケーションはAuth0から同意の詳細を取得するためにそれを使用します。
以下のサンプルコードはGuardian SDKを使用して、iOSとAndroidのモバイルプッシュ通知を実装する例です。
- iOS
- Android
ステップ5:モバイルアプリケーションが同意の詳細を取得する
モバイルアプリケーションからGuardian SDKを呼び出して、同意の詳細であるbinding_messageの内容をAuth0 Consent APIから取得します。
以下のサンプルコードは、Auth0 Consent APIからのデータ取得をiOSとAndroidに実装する例です。
- iOS
- Android
ステップ6:モバイルアプリケーションが同意の詳細をユーザーに表示する
Auth0 Consent APIは、同意の詳細であるbinding_messageを応答に含めてモバイルアプリケーションに送信します。モバイルアプリケーションは認証要求や同意の詳細をユーザーに表示します。
以下のサンプルコードはAuth0 Consent APIからの応答の例です。
ステップ7:モバイルアプリケーションがユーザーの応答をAuth0に送信する
ユーザーによる認証要求の受け入れまたは拒否に応じて、モバイルアプリケーションがユーザーの応答をAuth0に返します。 以下のサンプルコードは、ユーザー応答の処理をiOSとAndroidに実装する例です。ユーザーが認証要求を受け入れる
- iOS
- Android
ユーザーが認証要求を拒否する
- iOS
- Android
ステップ8:フローが完了した後でAuth0がユーザーの応答を受け取る
クライアントアプリケーションは/token エンドポイントから応答を受け取ったら、ポーリングを完了します。承認や拒否にかかわらず、CIBAフローには認可しているユーザーからの応答が常に必要です。既存の付与は確認されません。
ユーザーがプッシュ要求を拒否した場合は、以下の応答を受け取ります。