firebase / firebase/FirebaseUI-Flutter

[firebase_ui_auth] - exception is only throw one time when using startMFAVerification

オープン
#481 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る
Keep Open Needs Attention
主要言語
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:

![Image](https://github.com/user-attachments/assets/411b8495-771d-4cf2-9eb8-39bdf7aa74c8)

If you press a second time on the validation button

![Image](https://github.com/user-attachments/assets/ae5972e4-22d2-4e03-b645-7238e2cde05a)

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

![Image](https://github.com/user-attachments/assets/7db91e6a-43de-4a4f-8cd0-da3f89186576)

### 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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。