firebase / firebase/FirebaseUI-Android

[Auth-UI][v10.0.0-[beta05] SMS quota rejection maps to NetworkException, phone auth shows "check your internet connection" instead of "used too many times"

未关闭
#2,513 2 条评论 0 个 reaction 已指派 1 人 已被 @demolaf 认领 在 GitHub 查看
auth reproduced type: bug
主要语言
Kotlin
星标
4.8k
派生
1.9k
平均合并
2 天 9 小时
30 天内合并 PR
42

描述

## Steps to reproduce

1. Request SMS verification repeatedly for one phone number until Firebase rejects it for quota.
2. Enter that number and tap send.

## Observed results:
「認証エラー / ネットワーク エラー。インターネット接続を確認してください。」 ( mean Please check your internet connection)
a network error, on a device with working connectivity. FirebaseUI iOS shows the correct 「この電話番号は何度も使用されています」(mean This phone number has been used too many times) for the same account state.

## Expected results:
`TooManyRequestsException`, whose dialog message resolves to `fui_error_too_many_attempts ` This is a string the library already ships translated in ja/ko/zh-rTW ("This phone number has been used too many times"). The correct copy exists and is simply unreachable.

## Root cause:
Firebase reports SMS-quota rejection as `FirebaseTooManyRequestsException`, which extends `FirebaseException` not`FirebaseAuthException`.
`AuthException.from` only checks the `ERROR_TOO_MANY_REQUESTS` error code inside the is `FirebaseAuthException` branch, so the quota exception falls through to the catch-all is `FirebaseException -> NetworkException. ErrorRecoveryDialog` then renders `fui_no_internet`.

Is this possible to add `FirebaseTooManyRequestsException -> TooManyRequestsException(...)` before the is FirebaseException branch to fix this issue ?

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。