Auth0 Advanced Customization of Universal Login (ACUL) の画面で、
MFA プッシュのポーリング (例: プッシュ通知の承認待ち) を管理するための React フックです。このフックは、次のいずれかが発生するまで、
MFA プッシュチャレンジのエンドポイントを繰り返し確認する長時間実行のポーリングループを設定し、制御します。
- チャレンジがユーザーによって承認または拒否され、
options.onCompletedが呼び出される。 - エラーが発生し (ネットワークエラー、200/429 以外のレスポンス) 、
options.onErrorが呼び出される。 - コンポーネントがアンマウントされるか
stopPolling()が呼び出され、ポーリングがキャンセルされる。
主な機能
isRunningはリアクティブです — ポーリングループが内部で 停止またはキャンセルされると、自動的に更新されます。- 安定した単一のポーリングインスタンス (
useRef) を使用して、 重複したネットワーク呼び出しや、React の再レンダリング中の意図しない再開を防ぎます。 - アンマウント時の自動クリーンアップ: 孤立したタイマーやリークした XHR リクエストは発生しません。
パラメータ
ポーリング間隔、成功時のコールバック (
onCompleted) 、および任意のエラーハンドラー (onError) を指定します。戻り値
以下を含むMfaPollingResult を返します:isRunning— ポーリングがアクティブな間はtrue。startPolling()— ポーリングを開始または再開します。stopPolling()— ポーリングを即座に停止します。
サポート対象の画面
mfa-push-challenge-pushreset-password-mfa-push-challenge-pushmfa-push-enrollment-qr
Example
備考
onErrorコールバックは、サーバーレスポンスの内容を示すstatusとresponseTextを含む ULError オブジェクトを受け取ります。- 内部のレート制限レスポンス (
429) は自動的に処理されます: ポーリングはリセットウィンドウまで待機してから再試行します。 - 実行中に
startPolling()を繰り返し呼び出しても安全で、冪等です。