firebase / flutterfire

πŸ”₯ A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.64k stars 3.96k forks source link

πŸ› [flutterfire_ui] Estonia (+372 ) code is missing from the Phone Auth widget #7814

Closed alarmatwork closed 2 years ago

alarmatwork commented 2 years ago

Bug report

Describe the bug Sign in with phone has country list for country code, Estonia with code +372 is missing

Steps to reproduce

Steps to reproduce the behavior:

  1. Add SignInScreen with PhoneProviderConfiguration
  2. Open the screen in Flutter app
  3. Can not choose Estonia from the country list

    Expected behavior

Estonia (+372) should be in the dropdown list "Choose country"

Sample project

SignInScreen( providerConfigs: [ PhoneProviderConfiguration(), ], );


Additional context

Add any other context about the problem here.


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand ``` Doctor summary (to see all details, run flutter doctor -v): [βœ“] Flutter (Channel master, 2.9.0-1.0.pre.231, on Mac OS X 10.15.7 19H1615 darwin-x64, locale en-EE) [βœ“] Android toolchain - develop for Android devices (Android SDK version 32.0.0) [!] Xcode - develop for iOS and macOS (Xcode 11.0) βœ— Flutter requires a minimum Xcode version of 12.3. Download the latest version or update via the Mac App Store. [βœ“] Chrome - develop for the web [βœ“] Android Studio (version 2020.3) [βœ“] IntelliJ IDEA Ultimate Edition (version 2019.1.1) [βœ“] IntelliJ IDEA Community Edition (version 2019.1) [βœ“] VS Code (version 1.63.2) [βœ“] Connected device (3 available) [βœ“] HTTP Host Availability ! Doctor found issues in 1 category. ```

Flutter dependencies

Run flutter pub deps -- --style=compact and paste the output below:

Click To Expand ``` dependencies: - cloud_firestore 3.1.5 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta] - firebase_analytics 9.0.4 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter] - firebase_auth 3.3.4 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta] - firebase_core 1.10.6 [firebase_core_platform_interface firebase_core_web flutter meta] - flutter 0.0.0 [characters collection material_color_utilities meta typed_data vector_math sky_engine] - flutter_hooks 0.18.2 [flutter] - flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path typed_data vector_math] - flutterfire_ui 0.3.0 [cloud_firestore collection crypto desktop_webview_auth firebase_auth firebase_core firebase_database firebase_dynamic_links flutter flutter_facebook_auth flutter_localizations flutter_svg google_sign_in sign_in_with_apple twitter_login] - freezed_annotation 1.1.0 [collection json_annotation meta] - hooks_riverpod 1.0.3 [collection flutter flutter_hooks flutter_riverpod riverpod state_notifier] - mixpanel_flutter 1.4.2 [flutter flutter_web_plugins js] - shared_preferences 2.0.11 [flutter meta shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows] dev dependencies: - build_runner 2.1.7 [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_lints 1.0.4 [lints] - flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph typed_data] - freezed 1.1.1 [analyzer build build_config collection meta source_gen freezed_annotation] - json_serializable 6.1.3 [analyzer async build build_config collection json_annotation meta path pub_semver pubspec_parse source_gen source_helper] transitive dependencies: - _fe_analyzer_shared 32.0.0 [meta] - analyzer 3.0.0 [_fe_analyzer_shared cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml] - args 2.3.0 - async 2.8.2 [collection meta] - boolean_selector 2.1.0 [source_span string_scanner] - build 2.2.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.1 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel] - build_resolvers 2.0.6 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml] - build_runner_core 7.2.3 [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.3 [built_collection collection fixnum meta] - characters 1.2.0 - charcode 1.3.1 - checked_yaml 2.0.1 [json_annotation source_span yaml] - cli_util 0.3.5 [meta path] - clock 1.1.0 - cloud_firestore_platform_interface 5.4.10 [collection firebase_core flutter meta plugin_platform_interface] - cloud_firestore_web 2.6.5 [cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js] - code_builder 4.1.0 [built_collection built_value collection matcher meta] - collection 1.15.0 - convert 3.0.1 [typed_data] - crypto 3.0.1 [collection typed_data] - dart_style 2.2.1 [analyzer args path pub_semver source_span] - desktop_webview_auth 0.0.2 [crypto flutter http] - fake_async 1.2.0 [clock collection] - ffi 1.1.2 - file 6.1.2 [meta path] - firebase_analytics_platform_interface 3.0.3 [firebase_core flutter meta plugin_platform_interface] - firebase_analytics_web 0.4.0+4 [firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js] - firebase_auth_platform_interface 6.1.9 [firebase_core flutter meta plugin_platform_interface] - firebase_auth_web 3.3.5 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta] - firebase_core_platform_interface 4.2.3 [collection flutter meta plugin_platform_interface] - firebase_core_web 1.5.3 [firebase_core_platform_interface flutter flutter_web_plugins js meta] - firebase_database 9.0.4 [firebase_core firebase_core_platform_interface firebase_database_platform_interface firebase_database_web flutter] - firebase_database_platform_interface 0.2.0+3 [collection firebase_core flutter meta plugin_platform_interface] - firebase_database_web 0.2.0+3 [firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugins js] - firebase_dynamic_links 4.0.3 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface] - firebase_dynamic_links_platform_interface 0.2.0+3 [firebase_core flutter meta plugin_platform_interface] - fixnum 1.0.0 - flutter_facebook_auth 3.5.7 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web] - flutter_facebook_auth_platform_interface 2.7.1 [flutter plugin_platform_interface] - flutter_facebook_auth_web 2.6.0+2 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface] - flutter_riverpod 1.0.3 [collection flutter meta riverpod state_notifier] - flutter_svg 1.0.0 [flutter meta path_drawing vector_math xml] - flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta typed_data vector_math] - frontend_server_client 2.1.2 [async path] - glob 2.0.2 [async collection file path string_scanner] - google_sign_in 5.2.1 [flutter google_sign_in_platform_interface google_sign_in_web meta] - google_sign_in_platform_interface 2.1.0 [flutter meta quiver] - google_sign_in_web 0.10.0+3 [flutter flutter_web_plugins google_sign_in_platform_interface js meta] - graphs 2.1.0 [collection] - http 0.13.4 [async http_parser meta path] - 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 - json_annotation 4.4.0 [meta] - lints 1.0.1 - logging 1.0.2 - matcher 0.12.11 [stack_trace] - material_color_utilities 0.1.3 - meta 1.7.0 - mime 1.0.1 - package_config 2.0.2 [path] - 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.4 [ffi flutter meta path path_provider_platform_interface xdg_directories] - path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface] - path_provider_windows 2.0.4 [ffi flutter meta path path_provider_platform_interface win32] - petitparser 4.4.0 [meta] - platform 3.1.0 - plugin_platform_interface 2.0.2 [meta] - pool 1.5.0 [async stack_trace] - process 4.2.4 [file path platform] - pub_semver 2.1.0 [collection meta] - pubspec_parse 1.2.0 [checked_yaml collection json_annotation pub_semver yaml] - quiver 3.0.1+1 [matcher] - riverpod 1.0.3 [collection meta state_notifier] - shared_preferences_android 2.0.9 [flutter meta shared_preferences_platform_interface] - shared_preferences_ios 2.0.8 [flutter meta shared_preferences_platform_interface] - shared_preferences_linux 2.0.3 [file flutter meta 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.3 [file flutter 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] - sign_in_with_apple 3.3.0 [flutter meta sign_in_with_apple_platform_interface sign_in_with_apple_web] - sign_in_with_apple_platform_interface 1.0.0 [flutter plugin_platform_interface meta] - sign_in_with_apple_web 1.0.1 [flutter flutter_web_plugins sign_in_with_apple_platform_interface js] - sky_engine 0.0.99 - source_gen 1.2.1 [analyzer async build dart_style glob meta path source_span yaml] - source_helper 1.3.1 [analyzer collection source_gen] - source_span 1.8.1 [collection path term_glyph] - 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] - term_glyph 1.2.0 - test_api 0.4.8 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher] - timing 1.0.0 [json_annotation] - twitter_login 4.0.1 [flutter crypto http] - typed_data 1.3.0 [collection] - vector_math 2.1.1 - watcher 1.0.1 [async path] - web_socket_channel 2.1.0 [async crypto stream_channel] - win32 2.3.3 [ffi] - xdg_directories 0.2.0 [meta path process] - xml 5.3.1 [collection meta petitparser] - yaml 3.1.0 [collection source_span string_scanner] ```

darshankawar commented 2 years ago
Screenshot 2022-01-10 at 5 22 49 PM

flutterfire_ui: ^0.3.1

lesnitsky commented 2 years ago

@alarmatwork can you confirm that Estonia is really supported by the firebase phone auth? I don't see Estonia on this list, but I'm not 100% sure if this list is correct

alarmatwork commented 2 years ago

Yes, SMS with the code is sent if I enter the phone code and number manually (without using the dropdown list). Will report to Firebase too to update their list.

Also would be really good idea to add to setup documentation that one needs to set up SHA1 fingerprint in Firebase setup to SMS for actual number to actually work. It would save a lot of development time. Can do separate ticket for that.

pr-Mais commented 2 years ago

@lesnitsky guess we can add Estonia

@alarmatwork This is actually mentioned in Phone Authentication setup here which is referenced in FlutterFire UI docs as well.

ristiisa commented 2 years ago

@alarmatwork can you confirm that Estonia is really supported by the firebase phone auth? I don't see Estonia on this list, but I'm not 100% sure if this list is correct

"Firebase Authentication supports phone number verification across the the world"

This is not a list of supported countries. "The following countries have good rates of delivery, and should be expected to work well for phone number sign in."