firebase / firebase/FirebaseUI-Flutter
[firebase_ui_auth] - exception is only throw one time when using startMFAVerification
- 主要言語
- Dart
- スター
- 151
- フォーク
- 141
- 平均マージ
- 2日 11時間
- マージ済み PR(30日)
- 6
説明
### Is there an existing issue for this?
- [x] I have searched the existing issues and found no duplicates.
### What plugin is this bug for?
Firebase UI Auth
### What platform(s) does this bug affect?
Web
### List of dependencies used.
flutter pub deps -s list
### Steps to reproduce
if you have this in your actions:
```
AuthStateChangeAction((context, state) async {
try {
await startMFAVerification(
resolver: state.resolver,
context: context,
);
} on FirebaseException catch (e) {
if (!context.mounted) return;
ScaffoldMessenger.of(context).hideCurrentSnackBar();
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: ErrorText(exception: e),
),
);
}
}),
```
The Exception only only catch the first time as you can see it:

If you press a second time on the validation button

The Exception is not raised to the previous catch statement....but print to the console

### Expected Behavior
The the error as many time needed.
One you have an error, In was expecting form this helper method to restart:
```
provider.sendVerificationCode(
hint: hint as fba.PhoneMultiFactorInfo,
multiFactorSession: session,
action: AuthAction.none,
);
```
Otherwise once you have an error, you need to go to the previous page and type correctly the pin.
I'm expecting user to sometime do mistakes when entering the code, so this can be very annoying from an end user perspective.
### Actual Behavior
Only trigger one time
### Additional Information
_No response_
コントリビューションガイド
調査の方向性
firebase_ui_auth の startMFAVerification の実装から始め、無効なコードの後に示されている provider.sendVerificationCode 呼び出しの処理を比較してください。AuthStateChangeAction を使ってフローを再現し、検証エラーが繰り返し発生した場合に、最初の試行だけでなく、周囲の FirebaseException catch に到達することを確認してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- dart, firebase, flutter
- 領域
- authentication, web-dev
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100