Skip to content

🐛 [firebase_auth] Cannot handle quota-exceeded error on Android #7956

@AAkira

Description

@AAkira

Bug report

Describe the bug
We use the phone auth.
We've tried to authenticate multiple times with the spark(free) plan.
We were able to handle the quota-exceeded error on iOS, but we only got the too-many-requests error on Android.
However, when we changed to the blaze(paid) plan, we only got too-many-request errors on iOS as well.

Steps to reproduce

  1. Send SMS multiple times
    I called FirebaseAuth.instance.verifyPhoneNumber
  2. Handle verificationFailed on Android and iOS

Expected behavior

Handle the quota-exceeded error on Android

Flutter doctor

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.8.0, on macOS 11.6.1 20G224 darwin-x64, locale ja-JP)
[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] Android Studio (version 2020.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2021.2.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2021.2.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2021.1.2)
[✓] Connected device (3 available)

Flutter dependencies

Click To Expand
Dart SDK 2.15.0
Flutter SDK 2.8.0
m3pay 1.14.0+24

dependencies:
- cached_network_image 3.1.0+1 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- camera 0.9.4+6 [camera_platform_interface camera_web flutter pedantic quiver flutter_plugin_android_lifecycle]
- collection 1.15.0
- convex_bottom_bar 3.0.0 [flutter]
- device_info_plus 3.1.1 [flutter device_info_plus_platform_interface device_info_plus_linux device_info_plus_macos device_info_plus_web device_info_plus_windows]
- dio 4.0.4 [http_parser path]
- dotted_border 2.0.0+2 [flutter path_drawing]
- email_validator 2.0.1
- firebase_analytics 8.3.4 [firebase_analytics_platform_interface firebase_analytics_web firebase_core flutter meta]
- firebase_auth 3.2.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 1.10.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 2.3.0 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_dynamic_links 3.0.1 [firebase_core flutter]
- firebase_messaging 11.1.0 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_hooks 0.18.0 [flutter]
- flutter_inappwebview 5.3.2 [flutter]
- flutter_linkify 5.0.2 [flutter linkify]
- flutter_local_notifications 9.0.3 [clock flutter flutter_local_notifications_linux flutter_local_notifications_platform_interface timezone]
- flutter_localizations 0.0.0 [flutter intl characters clock collection meta path typed_data vector_math]
- flutter_speed_dial 4.6.6 [flutter]
- flutter_stripe 2.0.2 [flutter stripe_android stripe_ios stripe_platform_interface]
- flutter_svg 1.0.0 [flutter meta path_drawing vector_math xml]
- freezed_annotation 1.0.0 [collection json_annotation meta]
- geolocator 7.7.1 [flutter geolocator_platform_interface geolocator_android geolocator_apple geolocator_web]
- git_info_plus 0.0.4 [flutter]
- google_maps_flutter 2.1.0 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface]
- hooks_riverpod 1.0.0 [collection flutter flutter_hooks flutter_riverpod riverpod state_notifier]
- image 3.0.8 [archive meta xml]
- intl_utils 2.5.1 [analyzer archive args dart_style http intl path petitparser yaml]
- json_annotation 4.3.0 [meta]
- kana_kit 2.0.0 [equatable]
- logger 1.1.0
- openapi 1.0.0 [dio built_value built_collection]
- package_info_plus 1.3.0 [flutter package_info_plus_platform_interface package_info_plus_linux package_info_plus_macos package_info_plus_windows package_info_plus_web]
- path_provider 2.0.6 [flutter path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- permission_handler 8.2.6 [flutter meta permission_handler_platform_interface]
- phone_number 0.12.0+1 [flutter meta]
- qr_code_scanner 0.6.1 [js flutter flutter_web_plugins]
- shared_preferences 2.0.8 [flutter meta shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- shimmer 2.0.0 [flutter]
- sms_autofill 2.2.0 [pin_input_text_field flutter]
- time_machine 0.9.17 [meta collection]
- transparent_image 2.0.0
- tuple 2.0.0 [quiver]
- url_launcher 6.0.12 [flutter meta url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]

dev dependencies:
- build_runner 2.1.5 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_launcher_icons 0.9.2 [args image path yaml]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- freezed 1.0.0 [analyzer build build_config collection meta source_gen freezed_annotation]
- json_serializable 6.0.1 [analyzer async build build_config collection json_annotation meta path pub_semver pubspec_parse source_gen source_helper]
- mockito 5.0.16 [analyzer build code_builder collection dart_style matcher meta path source_gen test_api]

dependency overrides:
- freezed_annotation 1.0.0 [collection json_annotation meta]

transitive dependencies:
- _fe_analyzer_shared 30.0.0 [meta]
- analyzer 2.7.0 [_fe_analyzer_shared cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.1.2 [crypto path]
- args 2.3.0
- async 2.8.2 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.1.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.0.0 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.0.0 [built_collection built_value http_multi_server logging pedantic path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.0.4 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.2 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.1.2 [built_collection collection fixnum meta]
- cached_network_image_platform_interface 1.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.1 [flutter flutter_cache_manager cached_network_image_platform_interface]
- camera_platform_interface 2.1.1 [cross_file flutter meta plugin_platform_interface stream_transform]
- camera_web 0.2.1+1 [camera_platform_interface flutter flutter_web_plugins stream_transform]
- characters 1.2.0
- charcode 1.3.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- cli_util 0.3.3 [meta path]
- clock 1.1.0
- code_builder 4.1.0 [built_collection built_value collection matcher meta]
- convert 3.0.1 [typed_data]
- cross_file 0.3.1+5 [flutter meta]
- crypto 3.0.1 [collection typed_data]
- dart_style 2.1.0 [analyzer args path pub_semver source_span]
- dbus 0.5.6 [args ffi meta pedantic xml]
- device_info_plus_linux 2.1.0 [device_info_plus_platform_interface file flutter meta]
- device_info_plus_macos 2.2.0 [device_info_plus_platform_interface flutter]
- device_info_plus_platform_interface 2.2.1 [flutter meta plugin_platform_interface]
- device_info_plus_web 2.1.0 [device_info_plus_platform_interface flutter_web_plugins flutter]
- device_info_plus_windows 2.1.0 [device_info_plus_platform_interface ffi flutter win32]
- equatable 2.0.3 [collection meta]
- fake_async 1.2.0 [clock collection]
- ffi 1.1.2
- file 6.1.2 [meta path]
- firebase 9.0.2 [http http_parser js]
- firebase_analytics_platform_interface 2.0.1 [flutter meta]
- firebase_analytics_web 0.3.0+1 [firebase firebase_analytics_platform_interface flutter flutter_web_plugins meta]
- firebase_auth_platform_interface 6.1.4 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 3.2.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.1.0 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.2.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.1.6 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 3.0.9 [firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 2.1.0 [firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- fixnum 1.0.0
- flutter_blurhash 0.6.0 [flutter meta pedantic]
- flutter_cache_manager 3.1.2 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_local_notifications_linux 0.3.0 [flutter flutter_local_notifications_platform_interface dbus path xdg_directories]
- flutter_local_notifications_platform_interface 5.0.0 [flutter plugin_platform_interface]
- flutter_plugin_android_lifecycle 2.0.3 [flutter]
- flutter_riverpod 1.0.0 [collection flutter meta riverpod state_notifier]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- frontend_server_client 2.1.2 [async path]
- geolocator_android 2.1.0 [flutter geolocator_platform_interface]
- geolocator_apple 1.2.0 [flutter geolocator_platform_interface]
- geolocator_platform_interface 2.3.5 [flutter plugin_platform_interface vector_math meta]
- geolocator_web 2.0.6 [flutter flutter_web_plugins geolocator_platform_interface]
- glob 2.0.1 [async collection file path pedantic string_scanner]
- google_maps_flutter_platform_interface 2.1.3 [collection flutter meta plugin_platform_interface stream_transform]
- graphs 2.1.0 [collection]
- http 0.13.3 [async http_parser meta path pedantic]
- http_multi_server 3.0.1 [async]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- io 1.0.3 [meta path string_scanner]
- js 0.6.3
- linkify 4.1.0
- logging 1.0.2
- matcher 0.12.11 [stack_trace]
- meta 1.7.0
- mime 1.0.0
- octo_image 1.0.0+1 [flutter flutter_blurhash]
- package_config 2.0.2 [path]
- package_info_plus_linux 1.0.3 [package_info_plus_platform_interface flutter path]
- package_info_plus_macos 1.3.0 [flutter]
- package_info_plus_platform_interface 1.0.2 [flutter meta plugin_platform_interface]
- package_info_plus_web 1.0.4 [flutter flutter_web_plugins http meta package_info_plus_platform_interface]
- package_info_plus_windows 1.0.4 [package_info_plus_platform_interface ffi flutter win32]
- path 1.8.0
- path_drawing 1.0.0 [vector_math meta path_parsing flutter]
- path_parsing 1.0.0 [vector_math meta]
- path_provider_linux 2.1.0 [flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.2 [flutter]
- path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.3 [ffi flutter meta path path_provider_platform_interface win32]
- pedantic 1.11.1
- permission_handler_platform_interface 3.7.0 [flutter meta plugin_platform_interface]
- petitparser 4.3.0 [meta]
- pin_input_text_field 4.1.1 [flutter]
- platform 3.0.2
- plugin_platform_interface 2.0.1 [meta]
- pool 1.5.0 [async stack_trace]
- process 4.2.3 [file path platform]
- pub_semver 2.1.0 [collection meta]
- pubspec_parse 1.0.0 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.0.1 [matcher]
- riverpod 1.0.0 [collection meta state_notifier]
- rxdart 0.27.2
- shared_preferences_linux 2.0.2 [file meta flutter path path_provider_linux shared_preferences_platform_interface]
- shared_preferences_macos 2.0.2 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.0.0 [flutter]
- shared_preferences_web 2.0.2 [flutter flutter_web_plugins meta shared_preferences_platform_interface]
- shared_preferences_windows 2.0.2 [flutter file meta path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.2.0 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.1 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.1.1 [analyzer async build dart_style glob meta path source_span yaml]
- source_helper 1.3.0 [analyzer collection source_gen]
- source_span 1.8.1 [collection path term_glyph]
- sqflite 2.0.0+4 [flutter sqflite_common path]
- sqflite_common 2.0.1+1 [synchronized path meta]
- stack_trace 1.10.0 [path]
- state_notifier 0.7.1 [meta]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.0
- string_scanner 1.1.0 [charcode source_span]
- stripe_android 2.0.2 [flutter]
- stripe_ios 2.0.2 [flutter]
- stripe_platform_interface 2.0.2 [flutter freezed_annotation json_annotation meta plugin_platform_interface]
- synchronized 3.0.0
- term_glyph 1.2.0
- test_api 0.4.3 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timezone 0.8.0 [path]
- timing 1.0.0 [json_annotation]
- typed_data 1.3.0 [collection]
- url_launcher_linux 2.0.2 [flutter]
- url_launcher_macos 2.0.2 [flutter]
- url_launcher_platform_interface 2.0.4 [flutter plugin_platform_interface]
- url_launcher_web 2.0.4 [flutter flutter_web_plugins meta url_launcher_platform_interface]
- url_launcher_windows 2.0.2 [flutter]
- uuid 3.0.4 [crypto]
- vector_math 2.1.1
- watcher 1.0.0 [async path pedantic]
- web_socket_channel 2.1.0 [async crypto stream_channel]
- win32 2.2.9 [ffi]
- xdg_directories 0.2.0 [meta path process]
- xml 5.3.0 [collection meta petitparser]
- yaml 3.1.0 [collection source_span string_scanner]

Metadata

Metadata

Assignees

No one assigned

    Labels

    resolution: duplicateThis issue or pull request already existstype: bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions