firebase / FirebaseUI-Flutter

Apache License 2.0
92 stars 80 forks source link

"Verify that it's you" when trying to delete account #195

Closed reimager closed 7 months ago

reimager commented 7 months ago

Is there an existing issue for this?

What plugin is this bug for?

Firebase UI Auth

What platform(s) does this bug affect?

Android, iOS

List of dependencies used.

flutter pub deps -s list ``` Dart SDK 3.2.0 Flutter SDK 3.16.0 remodel 0.1.0+7 dependencies: - flutter 0.0.0 - characters 1.3.0 - collection 1.18.0 - material_color_utilities 0.5.0 - meta 1.10.0 - vector_math 2.1.4 - web 0.3.0 - sky_engine any - flutter_localizations 0.0.0 - flutter any - intl 0.18.1 - characters 1.3.0 - clock 1.1.1 - collection 1.18.0 - material_color_utilities 0.5.0 - meta 1.10.0 - path 1.8.3 - vector_math 2.1.4 - web 0.3.0 - cupertino_icons 1.0.6 - google_fonts 6.1.0 - flutter any - http ^1.0.0 - path_provider ^2.0.0 - crypto ^3.0.0 - image 4.1.3 - archive ^3.4.0 - meta ^1.3.0 - xml ^6.0.1 - image_picker 1.0.4 - flutter any - image_picker_android ^0.8.7 - image_picker_for_web >=2.2.0 <4.0.0 - image_picker_ios ^0.8.8 - image_picker_linux ^0.2.1 - image_picker_macos ^0.2.1 - image_picker_platform_interface ^2.8.0 - image_picker_windows ^0.2.1 - image_gallery_saver 2.0.3 - flutter any - file_saver 0.2.9 - flutter any - flutter_web_plugins any - path_provider ^2.0.11 - path_provider_windows ^2.0.5 - path_provider_linux ^2.1.5 - http ^1.1.0 - percent_indicator 4.2.3 - flutter any - synchronized 3.1.0 - http 1.1.0 - async ^2.5.0 - http_parser ^4.0.0 - meta ^1.3.0 - path_provider 2.1.1 - flutter any - path_provider_android ^2.1.0 - path_provider_foundation ^2.3.0 - path_provider_linux ^2.2.0 - path_provider_platform_interface ^2.1.0 - path_provider_windows ^2.2.0 - flutter_colorpicker 1.0.3 - flutter any - permission_handler 11.1.0 - flutter any - meta ^1.7.0 - permission_handler_android ^12.0.1 - permission_handler_apple ^9.2.0 - permission_handler_html ^0.1.0+1 - permission_handler_windows ^0.2.0 - permission_handler_platform_interface ^4.0.2 - share_plus 7.2.1 - cross_file ^0.3.3+4 - meta ^1.8.0 - mime ^1.0.4 - flutter any - flutter_web_plugins any - share_plus_platform_interface ^3.3.1 - file >=6.1.4 <8.0.0 - url_launcher_web ^2.0.16 - url_launcher_windows ^3.0.6 - url_launcher_linux ^3.0.5 - url_launcher_platform_interface ^2.1.2 - ffi ^2.0.1 - win32 >=4.0.0 <6.0.0 - provider 6.1.1 - collection ^1.15.0 - flutter any - nested ^1.0.0 - shared_preferences 2.2.2 - flutter any - shared_preferences_android ^2.1.0 - shared_preferences_foundation ^2.2.0 - shared_preferences_linux ^2.2.0 - shared_preferences_platform_interface ^2.3.0 - shared_preferences_web ^2.1.0 - shared_preferences_windows ^2.2.0 - url_launcher 6.2.1 - flutter any - url_launcher_android ^6.2.0 - url_launcher_ios ^6.2.0 - url_launcher_linux ^3.1.0 - url_launcher_macos ^3.1.0 - url_launcher_platform_interface ^2.2.0 - url_launcher_web ^2.2.0 - url_launcher_windows ^3.1.0 - page_view_indicators 2.0.0 - flutter any - rate_my_app 2.0.0 - shared_preferences >=2.0.0 <3.0.0 - flutter_rating_bar >=4.0.0 <5.0.0 - flutter any - cached_network_image 3.3.0 - cached_network_image_platform_interface ^3.0.0 - cached_network_image_web ^1.1.0 - flutter any - flutter_cache_manager ^3.3.1 - octo_image ^2.0.0 - purchases_flutter 6.4.0 - flutter any - freezed_annotation ^2.0.1 - json_annotation ^4.8.0 - google_sign_in 6.1.6 - flutter any - google_sign_in_android ^6.1.0 - google_sign_in_ios ^5.5.0 - google_sign_in_platform_interface ^2.4.0 - google_sign_in_web ^0.12.0 - sign_in_with_apple 5.0.0 - flutter any - meta ^1.3.0 - sign_in_with_apple_platform_interface ^1.0.0 - sign_in_with_apple_web ^1.0.0 - firebase_analytics 10.7.1 - firebase_analytics_platform_interface ^3.8.1 - firebase_analytics_web ^0.5.5+8 - firebase_core ^2.23.0 - firebase_core_platform_interface ^5.0.0 - flutter any - firebase_crashlytics 3.4.5 - firebase_core ^2.23.0 - firebase_core_platform_interface ^5.0.0 - firebase_crashlytics_platform_interface ^3.6.13 - flutter any - stack_trace ^1.10.0 - upgrader 8.3.0 - flutter any - device_info_plus any - html ^0.15.3 - http >=0.13.6 <2.0.0 - os_detect ^2.0.1 - package_info_plus ^4.0.1 - shared_preferences >=2.1.1 <3.0.0 - url_launcher ^6.1.11 - version ^3.0.2 - xml ^6.3.0 - package_info_plus 4.2.0 - ffi ^2.0.1 - flutter any - flutter_web_plugins any - http >=0.13.5 <2.0.0 - meta ^1.8.0 - path ^1.8.2 - package_info_plus_platform_interface ^2.0.1 - win32 >=4.0.0 <6.0.0 - dropdown_button2 2.3.9 - flutter any - meta ^1.9.1 - carousel_slider 4.2.1 - flutter any - device_info_plus 9.1.1 - device_info_plus_platform_interface ^7.0.0 - ffi ^2.0.1 - file >=6.1.4 <8.0.0 - flutter any - flutter_web_plugins any - meta ^1.8.0 - win32 >=4.0.0 <6.0.0 - win32_registry ^1.1.0 - language_code 0.3.1 - flutter any - dio 5.3.4 - async ^2.8.2 - http_parser ^4.0.0 - meta ^1.5.0 - path ^1.8.0 - youtube_player_flutter 8.1.2 - flutter any - flutter_inappwebview ^5.7.2+3 - visibility_detector 0.4.0+2 - flutter any - responsive_grid 2.4.4 - flutter any - flutter_image_compress 2.1.0 - flutter any - flutter_image_compress_platform_interface ^1.0.3 - flutter_image_compress_common ^1.0.3 - flutter_image_compress_web ^0.1.3+2 - flutter_image_compress_macos ^1.0.1 - firebase_core 2.23.0 - firebase_core_platform_interface ^5.0.0 - firebase_core_web ^2.8.1 - flutter any - meta ^1.8.0 - firebase_auth 4.14.1 - firebase_auth_platform_interface ^7.0.5 - firebase_auth_web ^5.8.8 - firebase_core ^2.23.0 - firebase_core_platform_interface ^5.0.0 - flutter any - meta ^1.8.0 - facebook_app_events 0.19.0 - flutter any - firebase_ui_auth 1.10.0 - email_validator ^2.1.17 - firebase_auth ^4.11.1 - firebase_core ^2.19.0 - firebase_dynamic_links ^5.4.1 - firebase_ui_localizations ^1.8.0 - firebase_ui_oauth ^1.4.14 - firebase_ui_shared ^1.4.1 - flutter any - flutter_localizations any - firebase_ui_oauth 1.4.14 - desktop_webview_auth ^0.0.13 - firebase_auth ^4.11.1 - firebase_ui_auth ^1.10.0 - firebase_ui_shared ^1.4.1 - flutter_svg ^2.0.7 - flutter any - firebase_ui_oauth_google 1.2.14 - firebase_auth ^4.11.1 - firebase_ui_oauth ^1.4.14 - flutter any - google_sign_in ^6.1.0 - firebase_ui_oauth_apple 1.2.14 - firebase_auth ^4.11.1 - firebase_ui_oauth ^1.4.14 - flutter any - firebase_ui_localizations 1.8.0 - flutter any - flutter_localizations any - path ^1.8.2 - flutter_launcher_icons 0.13.1 - args ^2.3.2 - checked_yaml ^2.0.2 - cli_util ^0.4.0 - image ^4.0.15 - json_annotation ^4.8.0 - path ^1.8.2 - yaml ^3.1.1 dev dependencies: - flutter_test 0.0.0 - flutter any - test_api 0.6.1 - matcher 0.12.16 - path 1.8.3 - fake_async 1.3.1 - clock 1.1.1 - stack_trace 1.11.1 - vector_math 2.1.4 - async 2.11.0 - boolean_selector 2.1.1 - characters 1.3.0 - collection 1.18.0 - material_color_utilities 0.5.0 - meta 1.10.0 - source_span 1.10.0 - stream_channel 2.1.2 - string_scanner 1.2.0 - term_glyph 1.2.1 - web 0.3.0 - flutter_lints 3.0.1 - lints ^3.0.0 - auto_translator 1.1.0 - args ^2.4.2 - http ^1.0.0 - yaml ^3.1.2 - build_runner 2.4.6 - analyzer >=4.4.0 <7.0.0 - args ^2.0.0 - async ^2.5.0 - build >=2.1.0 <2.5.0 - build_config >=1.1.0 <1.2.0 - build_daemon ^4.0.0 - build_resolvers ^2.0.0 - build_runner_core ^7.2.0 - code_builder ^4.2.0 - collection ^1.15.0 - crypto ^3.0.0 - dart_style ^2.0.0 - frontend_server_client ^3.0.0 - glob ^2.0.0 - graphs ^2.2.0 - http_multi_server ^3.0.0 - io ^1.0.0 - js ^0.6.3 - logging ^1.0.0 - meta ^1.3.0 - mime ^1.0.0 - package_config ^2.0.0 - path ^1.8.0 - pool ^1.5.0 - pub_semver ^2.0.0 - pubspec_parse ^1.0.0 - shelf ^1.0.0 - shelf_web_socket ^1.0.0 - stack_trace ^1.10.0 - stream_transform ^2.0.0 - timing ^1.0.0 - watcher ^1.0.0 - web_socket_channel ^2.0.0 - yaml ^3.0.0 - build_web_compilers 4.0.7 - analyzer >=5.1.0 <7.0.0 - archive ^3.0.0 - bazel_worker ^1.0.0 - build ^2.0.0 - build_config ^1.0.0 - build_modules ^5.0.0 - collection ^1.15.0 - glob ^2.0.0 - js ^0.6.3 - logging ^1.0.0 - path ^1.8.0 - pool ^1.5.0 - scratch_space ^1.0.0 - source_maps ^0.10.10 - source_span ^1.8.0 - stack_trace ^1.10.0 transitive dependencies: - _fe_analyzer_shared 61.0.0 - meta ^1.0.2 - _flutterfire_internals 1.3.13 - collection ^1.0.0 - firebase_core ^2.23.0 - firebase_core_platform_interface ^5.0.0 - flutter any - meta ^1.8.0 - analyzer 5.13.0 - _fe_analyzer_shared ^61.0.0 - collection ^1.17.0 - convert ^3.0.0 - crypto ^3.0.0 - glob ^2.0.0 - meta ^1.7.0 - package_config ^2.0.0 - path ^1.8.0 - pub_semver ^2.0.0 - source_span ^1.8.0 - watcher ^1.0.0 - yaml ^3.0.0 - archive 3.4.9 - crypto ^3.0.3 - path ^1.8.0 - pointycastle ^3.7.3 - args 2.4.2 - async 2.11.0 - collection ^1.15.0 - meta ^1.1.7 - bazel_worker 1.1.0 - async ^2.5.0 - protobuf ^3.0.0 - boolean_selector 2.1.1 - source_span ^1.8.0 - string_scanner ^1.1.0 - build 2.4.1 - analyzer >=1.5.0 <7.0.0 - async ^2.5.0 - convert ^3.0.0 - crypto ^3.0.0 - glob ^2.0.0 - logging ^1.0.0 - meta ^1.3.0 - package_config ^2.1.0 - path ^1.8.0 - build_config 1.1.1 - checked_yaml ^2.0.0 - json_annotation ^4.5.0 - path ^1.8.0 - pubspec_parse ^1.0.0 - yaml ^3.0.0 - build_daemon 4.0.1 - built_collection ^5.0.0 - built_value ^8.1.0 - crypto ^3.0.3 - http_multi_server ^3.0.0 - logging ^1.0.0 - path ^1.8.0 - pool ^1.5.0 - shelf ^1.0.0 - shelf_web_socket ^1.0.0 - stream_transform ^2.0.0 - watcher ^1.0.0 - web_socket_channel ^2.0.0 - build_modules 5.0.5 - analyzer >=5.1.0 <7.0.0 - async ^2.5.0 - bazel_worker ^1.0.0 - build ^2.0.0 - build_config ^1.0.0 - collection ^1.15.0 - crypto ^3.0.0 - glob ^2.0.0 - graphs ^2.0.0 - json_annotation ^4.3.0 - logging ^1.0.0 - path ^1.8.0 - scratch_space ^1.0.0 - stream_transform ^2.0.0 - build_resolvers 2.4.1 - analyzer >=5.12.0 <7.0.0 - async ^2.5.0 - build ^2.0.0 - collection ^1.17.0 - convert ^3.1.1 - crypto ^3.0.0 - graphs >=1.0.0 <3.0.0 - logging ^1.0.0 - package_config ^2.0.0 - path ^1.8.0 - pool ^1.5.0 - pub_semver ^2.0.0 - stream_transform ^2.0.0 - yaml ^3.0.0 - build_runner_core 7.2.11 - async ^2.5.0 - build ^2.4.0 - build_config ^1.0.0 - build_resolvers ^2.4.0 - collection ^1.15.0 - convert ^3.0.0 - crypto ^3.0.0 - glob ^2.0.0 - graphs ^2.0.0 - json_annotation ^4.8.1 - logging ^1.2.0 - meta ^1.3.0 - package_config ^2.0.0 - path ^1.8.0 - pool ^1.5.0 - timing ^1.0.0 - watcher ^1.0.0 - yaml ^3.0.0 - built_collection 5.1.1 - built_value 8.8.0 - built_collection ^5.0.0 - collection ^1.15.0 - fixnum ^1.0.0 - meta ^1.3.0 - cached_network_image_platform_interface 3.0.0 - flutter any - flutter_cache_manager ^3.3.1 - cached_network_image_web 1.1.0 - cached_network_image_platform_interface ^3.0.0 - flutter any - flutter_cache_manager ^3.3.1 - characters 1.3.0 - checked_yaml 2.0.3 - json_annotation ^4.3.0 - source_span ^1.8.0 - yaml ^3.0.0 - cli_util 0.4.0 - meta ^1.3.0 - path ^1.8.0 - clock 1.1.1 - code_builder 4.8.0 - built_collection ^5.0.0 - built_value ^8.0.0 - collection ^1.15.0 - matcher ^0.12.10 - meta ^1.3.0 - collection 1.18.0 - convert 3.1.1 - typed_data ^1.3.0 - cross_file 0.3.3+7 - js ^0.6.3 - meta ^1.3.0 - crypto 3.0.3 - typed_data ^1.3.0 - csslib 1.0.0 - source_span ^1.8.0 - dart_style 2.3.2 - analyzer >=5.12.0 <7.0.0 - args >=1.0.0 <3.0.0 - path ^1.0.0 - pub_semver >=1.4.4 <3.0.0 - source_span ^1.4.0 - desktop_webview_auth 0.0.14 - crypto ^3.0.3 - flutter any - http ^1.0.0 - flutter_web_plugins any - plugin_platform_interface ^2.1.4 - device_info_plus_platform_interface 7.0.0 - flutter any - meta ^1.3.0 - plugin_platform_interface ^2.0.0 - email_validator 2.1.17 - fake_async 1.3.1 - clock ^1.1.0 - collection ^1.15.0 - ffi 2.1.0 - file 7.0.0 - meta ^1.9.1 - path ^1.8.3 - file_selector_linux 0.9.2+1 - cross_file ^0.3.1 - file_selector_platform_interface ^2.6.0 - flutter any - file_selector_macos 0.9.3+3 - cross_file ^0.3.1 - file_selector_platform_interface ^2.6.0 - flutter any - file_selector_platform_interface 2.6.1 - cross_file ^0.3.0 - flutter any - http >=0.13.0 <2.0.0 - plugin_platform_interface ^2.1.0 - file_selector_windows 0.9.3+1 - cross_file ^0.3.1 - file_selector_platform_interface ^2.6.0 - flutter any - firebase_analytics_platform_interface 3.8.1 - _flutterfire_internals ^1.3.13 - firebase_core ^2.23.0 - flutter any - meta ^1.8.0 - plugin_platform_interface ^2.1.3 - firebase_analytics_web 0.5.5+8 - _flutterfire_internals ^1.3.13 - firebase_analytics_platform_interface ^3.8.1 - firebase_core ^2.23.0 - firebase_core_web ^2.8.1 - flutter any - flutter_web_plugins any - js ^0.6.3 - firebase_auth_platform_interface 7.0.5 - _flutterfire_internals ^1.3.13 - collection ^1.16.0 - firebase_core ^2.23.0 - flutter any - meta ^1.8.0 - plugin_platform_interface ^2.1.3 - firebase_auth_web 5.8.8 - firebase_auth_platform_interface ^7.0.5 - firebase_core ^2.23.0 - firebase_core_web ^2.8.1 - flutter any - flutter_web_plugins any - http_parser ^4.0.0 - js ^0.6.3 - meta ^1.8.0 - firebase_core_platform_interface 5.0.0 - collection ^1.0.0 - flutter any - flutter_test any - meta ^1.8.0 - plugin_platform_interface ^2.1.3 - firebase_core_web 2.8.1 - firebase_core_platform_interface ^5.0.0 - flutter any - flutter_web_plugins any - js ^0.6.3 - meta ^1.8.0 - firebase_crashlytics_platform_interface 3.6.13 - _flutterfire_internals ^1.3.13 - collection ^1.15.0 - firebase_core ^2.23.0 - flutter any - meta ^1.8.0 - plugin_platform_interface ^2.1.3 - firebase_dynamic_links 5.4.5 - firebase_core ^2.23.0 - firebase_core_platform_interface ^5.0.0 - firebase_dynamic_links_platform_interface ^0.2.6+13 - flutter any - meta ^1.8.0 - plugin_platform_interface ^2.1.3 - firebase_dynamic_links_platform_interface 0.2.6+13 - _flutterfire_internals ^1.3.13 - firebase_core ^2.23.0 - flutter any - meta ^1.8.0 - plugin_platform_interface ^2.1.3 - firebase_ui_shared 1.4.1 - flutter any - fixnum 1.1.0 - flutter_cache_manager 3.3.1 - clock ^1.1.0 - collection ^1.15.0 - file >=6.1.4 <8.0.0 - flutter any - http >=0.13.0 <2.0.0 - path ^1.8.0 - path_provider ^2.0.0 - rxdart >=0.26.0 <0.28.0 - sqflite ^2.0.0+4 - uuid >=3.0.0 <5.0.0 - flutter_image_compress_common 1.0.3 - flutter any - flutter_image_compress_platform_interface ^1.0.3 - flutter_image_compress_macos 1.0.1 - flutter any - flutter_image_compress_platform_interface ^1.0.3 - flutter_image_compress_platform_interface 1.0.3 - flutter any - plugin_platform_interface ^2.0.0 - cross_file ^0.3.3+2 - flutter_image_compress_web 0.1.3+2 - flutter any - flutter_web_plugins any - flutter_image_compress_platform_interface ^1.0.3 - js ^0.6.5 - flutter_inappwebview 5.8.0 - flutter any - flutter_plugin_android_lifecycle 2.0.17 - flutter any - flutter_rating_bar 4.0.1 - flutter any - flutter_svg 2.0.9 - flutter any - vector_graphics ^1.1.9+1 - vector_graphics_codec ^1.1.9+1 - vector_graphics_compiler ^1.1.9+1 - flutter_web_plugins 0.0.0 - flutter any - characters 1.3.0 - collection 1.18.0 - material_color_utilities 0.5.0 - meta 1.10.0 - vector_math 2.1.4 - web 0.3.0 - freezed_annotation 2.4.1 - collection ^1.15.0 - json_annotation ^4.6.0 - meta ^1.7.0 - frontend_server_client 3.2.0 - async ^2.5.0 - path ^1.8.0 - glob 2.1.2 - async ^2.5.0 - collection ^1.15.0 - file >=6.1.3 <8.0.0 - path ^1.8.0 - string_scanner ^1.1.0 - google_identity_services_web 0.2.2 - js ^0.6.4 - meta ^1.3.0 - google_sign_in_android 6.1.20 - flutter any - google_sign_in_platform_interface ^2.2.0 - google_sign_in_ios 5.6.5 - flutter any - google_sign_in_platform_interface ^2.2.0 - pigeon ^11.0.1 - google_sign_in_platform_interface 2.4.2 - flutter any - plugin_platform_interface ^2.1.0 - quiver ^3.0.0 - google_sign_in_web 0.12.1 - flutter any - flutter_web_plugins any - google_identity_services_web ^0.2.2 - google_sign_in_platform_interface ^2.4.0 - http >=0.13.0 <2.0.0 - js ^0.6.3 - graphs 2.3.1 - collection ^1.1.0 - html 0.15.4 - csslib >=0.17.0 <2.0.0 - source_span ^1.8.0 - http_multi_server 3.2.1 - async ^2.5.0 - http_parser 4.0.2 - collection ^1.15.0 - source_span ^1.8.0 - string_scanner ^1.1.0 - typed_data ^1.3.0 - image_picker_android 0.8.8+2 - flutter any - flutter_plugin_android_lifecycle ^2.0.1 - image_picker_platform_interface ^2.8.0 - image_picker_for_web 3.0.1 - flutter any - flutter_web_plugins any - image_picker_platform_interface ^2.9.0 - mime ^1.0.4 - image_picker_ios 0.8.8+4 - flutter any - image_picker_platform_interface ^2.8.0 - image_picker_linux 0.2.1+1 - file_selector_linux ^0.9.1+3 - file_selector_platform_interface ^2.2.0 - flutter any - image_picker_platform_interface ^2.8.0 - image_picker_macos 0.2.1+1 - file_selector_macos ^0.9.1+1 - file_selector_platform_interface ^2.3.0 - flutter any - image_picker_platform_interface ^2.8.0 - image_picker_platform_interface 2.9.1 - cross_file ^0.3.1+1 - flutter any - http >=0.13.0 <2.0.0 - plugin_platform_interface ^2.1.0 - image_picker_windows 0.2.1+1 - file_selector_platform_interface ^2.2.0 - file_selector_windows ^0.9.0 - flutter any - image_picker_platform_interface ^2.8.0 - intl 0.18.1 - clock ^1.1.0 - meta ^1.0.2 - path ^1.8.0 - io 1.0.4 - meta ^1.3.0 - path ^1.8.0 - string_scanner ^1.1.0 - js 0.6.7 - meta ^1.7.0 - json_annotation 4.8.1 - meta ^1.4.0 - lints 3.0.0 - logging 1.2.0 - matcher 0.12.16 - async ^2.10.0 - meta ^1.8.0 - stack_trace ^1.10.0 - term_glyph ^1.2.0 - test_api >=0.5.0 <0.7.0 - material_color_utilities 0.5.0 - collection ^1.15.0 - meta 1.10.0 - mime 1.0.4 - nested 1.0.0 - flutter any - octo_image 2.0.0 - flutter any - os_detect 2.0.1 - package_config 2.1.0 - path ^1.8.0 - package_info_plus_platform_interface 2.0.1 - flutter any - meta ^1.3.0 - plugin_platform_interface ^2.0.0 - path 1.8.3 - path_parsing 1.0.1 - vector_math ^2.1.0 - meta ^1.3.0 - path_provider_android 2.2.1 - flutter any - path_provider_platform_interface ^2.1.0 - path_provider_foundation 2.3.1 - flutter any - path_provider_platform_interface ^2.1.0 - path_provider_linux 2.2.1 - ffi >=1.1.2 <3.0.0 - flutter any - path ^1.8.0 - path_provider_platform_interface ^2.1.0 - xdg_directories >=0.2.0 <2.0.0 - path_provider_platform_interface 2.1.1 - flutter any - platform ^3.0.0 - plugin_platform_interface ^2.1.0 - path_provider_windows 2.2.1 - ffi ^2.0.0 - flutter any - path ^1.8.0 - path_provider_platform_interface ^2.1.0 - win32 >=2.1.0 <6.0.0 - permission_handler_android 12.0.1 - flutter any - permission_handler_platform_interface ^4.0.0 - permission_handler_apple 9.2.0 - flutter any - permission_handler_platform_interface ^4.0.0 - permission_handler_html 0.1.0+1 - flutter any - flutter_web_plugins any - permission_handler_platform_interface ^4.0.2 - permission_handler_platform_interface 4.0.2 - flutter any - meta ^1.3.0 - plugin_platform_interface ^2.0.0 - permission_handler_windows 0.2.0 - flutter any - permission_handler_platform_interface ^4.0.0 - petitparser 6.0.1 - meta ^1.9.0 - pigeon 11.0.1 - analyzer ^5.13.0 - args ^2.1.0 - collection ^1.15.0 - meta ^1.7.0 - path ^1.8.0 - yaml ^3.1.1 - platform 3.1.3 - plugin_platform_interface 2.1.7 - meta ^1.3.0 - pointycastle 3.7.3 - collection ^1.15.0 - convert ^3.0.0 - js ^0.6.3 - pool 1.5.1 - async ^2.5.0 - stack_trace ^1.10.0 - protobuf 3.1.0 - collection ^1.15.0 - fixnum ^1.0.0 - meta ^1.7.0 - pub_semver 2.1.4 - collection ^1.15.0 - meta ^1.3.0 - pubspec_parse 1.2.3 - checked_yaml ^2.0.1 - collection ^1.15.0 - json_annotation ^4.8.0 - pub_semver ^2.0.0 - yaml ^3.0.0 - quiver 3.2.1 - matcher ^0.12.10 - rxdart 0.27.7 - scratch_space 1.0.2 - build ^2.0.0 - crypto ^3.0.0 - path ^1.8.0 - pool ^1.5.0 - share_plus_platform_interface 3.3.1 - cross_file ^0.3.3+4 - flutter any - meta ^1.8.0 - mime ^1.0.4 - plugin_platform_interface ^2.1.4 - path_provider ^2.0.14 - uuid >=3.0.7 <5.0.0 - shared_preferences_android 2.2.1 - flutter any - shared_preferences_platform_interface ^2.3.0 - shared_preferences_foundation 2.3.4 - flutter any - shared_preferences_platform_interface ^2.3.0 - shared_preferences_linux 2.3.2 - file >=6.0.0 <8.0.0 - flutter any - path ^1.8.0 - path_provider_linux ^2.0.0 - path_provider_platform_interface ^2.0.0 - shared_preferences_platform_interface ^2.3.0 - shared_preferences_platform_interface 2.3.1 - flutter any - plugin_platform_interface ^2.1.0 - shared_preferences_web 2.2.2 - flutter any - flutter_web_plugins any - shared_preferences_platform_interface ^2.3.0 - web >=0.3.0 <0.5.0 - shared_preferences_windows 2.3.2 - file >=6.0.0 <8.0.0 - flutter any - path ^1.8.0 - path_provider_platform_interface ^2.0.0 - path_provider_windows ^2.0.0 - shared_preferences_platform_interface ^2.3.0 - shelf 1.4.1 - async ^2.5.0 - collection ^1.15.0 - http_parser ^4.0.0 - path ^1.8.0 - stack_trace ^1.10.0 - stream_channel ^2.1.0 - shelf_web_socket 1.0.4 - shelf ^1.1.0 - stream_channel ^2.1.0 - web_socket_channel ^2.0.0 - sign_in_with_apple_platform_interface 1.0.0 - flutter any - plugin_platform_interface ^2.0.0 - meta ^1.3.0 - sign_in_with_apple_web 1.0.1 - flutter any - flutter_web_plugins any - sign_in_with_apple_platform_interface ^1.0.0 - js ^0.6.3 - sky_engine 0.0.99 - source_maps 0.10.12 - source_span ^1.8.0 - source_span 1.10.0 - collection ^1.15.0 - path ^1.8.0 - term_glyph ^1.2.0 - sprintf 7.0.0 - sqflite 2.3.0 - flutter any - sqflite_common >=2.5.0-1 <4.0.0 - path >=1.8.0 <3.0.0 - sqflite_common 2.5.0+2 - synchronized >=3.0.0 <5.0.0 - path >=1.8.0 <3.0.0 - meta >=1.3.0 <3.0.0 - stack_trace 1.11.1 - path ^1.8.0 - stream_channel 2.1.2 - async ^2.5.0 - stream_transform 2.1.0 - string_scanner 1.2.0 - source_span ^1.8.0 - term_glyph 1.2.1 - test_api 0.6.1 - async ^2.5.0 - boolean_selector ^2.1.0 - collection ^1.15.0 - meta ^1.3.0 - source_span ^1.8.0 - stack_trace ^1.10.0 - stream_channel ^2.1.0 - string_scanner ^1.1.0 - term_glyph ^1.2.0 - timing 1.0.1 - json_annotation ^4.3.0 - typed_data 1.3.2 - collection ^1.15.0 - url_launcher_android 6.2.0 - flutter any - url_launcher_platform_interface ^2.2.0 - url_launcher_ios 6.2.1 - flutter any - url_launcher_platform_interface ^2.2.0 - url_launcher_linux 3.1.0 - flutter any - url_launcher_platform_interface ^2.2.0 - url_launcher_macos 3.1.0 - flutter any - url_launcher_platform_interface ^2.2.0 - url_launcher_platform_interface 2.2.0 - flutter any - plugin_platform_interface ^2.1.0 - url_launcher_web 2.2.1 - flutter any - flutter_web_plugins any - url_launcher_platform_interface ^2.2.0 - web >=0.3.0 <0.5.0 - url_launcher_windows 3.1.0 - flutter any - url_launcher_platform_interface ^2.2.0 - uuid 4.2.1 - crypto ^3.0.0 - sprintf ^7.0.0 - meta ^1.9.1 - vector_graphics 1.1.9+1 - flutter any - vector_graphics_codec 1.1.9+1 - vector_graphics_codec 1.1.9+1 - vector_graphics_compiler 1.1.9+1 - args ^2.3.0 - meta ^1.7.0 - path_parsing ^1.0.1 - xml ^6.3.0 - vector_graphics_codec 1.1.9+1 - path ^1.8.0 - vector_math 2.1.4 - version 3.0.2 - watcher 1.1.0 - async ^2.5.0 - path ^1.8.0 - web 0.3.0 - web_socket_channel 2.4.0 - async ^2.5.0 - crypto ^3.0.0 - stream_channel ^2.1.0 - win32 5.1.0 - ffi ^2.1.0 - win32_registry 1.1.2 - ffi ^2.1.0 - win32 ^5.0.7 - xdg_directories 1.0.3 - meta ^1.3.0 - path ^1.8.0 - xml 6.4.2 - collection ^1.18.0 - meta ^1.9.0 - petitparser ^6.0.0 - yaml 3.1.2 - collection ^1.15.0 - source_span ^1.8.0 - string_scanner ^1.1.0 ```

Steps to reproduce

(edited)

I'm using the default ProfileScreen to show the account, with the delete button. Login, and wait some long amount of time ( 24 hours? ). This wait is necessary otherwise you won't get the reauth popup. After this, restart the app, and goto the ProfileScreen, and click "Delete Account"

The problem is that there is no content to this popup window - just a cancel button. So its unclear what the user needs to do to verify its them and continue to delete the account.

I'm gathering from looking at the code that there is supposed to be some content in the popup to reauthenticate or something of that sort, but as you can see nothing appears.

Screenshot_20231019_235036

Here are my providers in case it is relevent:

    FirebaseUIAuth.configureProviders([
      GoogleProvider(clientId: clientId),
      AppleProvider(scopes: {'email', 'name'}),
    ]);

Expected Behavior

The expected (and usual) behavior is that it logs out the user and deletes the firebase account.

Actual Behavior

The user gets a popup to verify its them which has no content and only a cancel button.

Additional Information

No response

danagbemava-nc commented 7 months ago

Hi @reimager, thanks for filing this issue. I am looking into reproducing this, but I just have a couple of questions.

reimager commented 7 months ago

I don't believe it is recent. I have heard about this from users for some time, but only just saw it myself recently.

I used google to reproduce. If you login and immediately delete the account it works without any reauth/verification. So I assume you have to wait some amount of time before trying to delete the account, in order to see the reauth popup.

danagbemava-nc commented 7 months ago

Hi @reimager, can you share the complete code sample that you're experiencing the issue with? When I attempt to delete my account the dialog shows up but it is not empty. It shows the current provider that I am signed in as. See the screenshot below. I tested with the plugin example app

reimager commented 7 months ago

Oh I see, its just supposed to be a login button. Weird indeed. Yes, I will try to reduce my app to a simple sample program. Thanks!

reimager commented 7 months ago

here is a simplified app, just login, wait a few hours, then go to the profile and try to delete account.

also, could it be something outside the app, like my firebase config, or even the account?

Screenshot_1701280802

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_ui_auth/firebase_ui_auth.dart';
import 'package:firebase_ui_localizations/firebase_ui_localizations.dart';
import 'package:firebase_ui_oauth_apple/firebase_ui_oauth_apple.dart';
import 'package:firebase_ui_oauth_google/firebase_ui_oauth_google.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

import 'firebase_options.dart';

void main() async {
  debugPrint("main()");

  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  await firebaseAuthInit();

  runApp(const MyApp());
}

Future<void> firebaseAuthInit() async {
  String clientId = "XXX"; // fill me in
  FirebaseUIAuth.configureProviders([
      GoogleProvider(clientId: clientId),
      AppleProvider(scopes: {'email', 'name'}),
  ]);
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "My App",
      localizationsDelegates: [
        FirebaseUILocalizations.delegate,
        AppLocalizations.delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      initialRoute: '/home',
      routes: {
        '/home': (context) {
          return const Home();
        },
        '/sign-in': ((context) {
          return SignInScreen(
            showAuthActionSwitch: false,
            headerBuilder: (context, constraints, _) {
              return Stack(
                children: [
                  IconButton(
                    icon: const Icon(Icons.arrow_back_ios),
                    onPressed: () {
                      Navigator.of(context).pop();
                    },
                  ),
                  Center(
                    child: SizedBox(
                      width: 200,
                      height: 200,
                      child: Column(
                        children: [
                          const SizedBox(
                            height: 20,
                          ),
                          const Text(
                            "My App",
                            style: TextStyle(fontFamily: 'Config-Bold', fontSize: 24, fontWeight: FontWeight.bold),
                          )
                        ],
                      ),
                    ),
                  ),
                ],
              );
            },
            actions: [
              AuthStateChangeAction(((context, state) async {
                if (state is SignedIn || state is UserCreated) {
                  var user = (state is SignedIn) ? state.user : (state as UserCreated).credential.user;
                  if (user == null) {
                    return;
                  }
                  if (state is UserCreated) {
                    user.updateDisplayName(user.email!.split('@')[0]);
                  }

                  final navigator = Navigator.of(context);
                  final after = ModalRoute.of(context)!.settings.arguments as Route?;

                  try {
                    if (after != null) {
                      navigator.pushReplacement(after);
                    } else {
                      navigator.pushNamedAndRemoveUntil('/home', (Route<dynamic> route) => false);
                    }
                  } catch (e) {
                    navigator.pushNamedAndRemoveUntil('/home', (Route<dynamic> route) => false);
                  }
                }
              })),
            ],
          );
        }),
        '/profile': ((context) {
          return ProfileScreen(
            providers: const [],
            actions: [
              SignedOutAction(
                ((context) {
                  Navigator.of(context).pushReplacementNamed('/sign-in');
                }),
              ),
            ],
            appBar: AppBar(
              leading: IconButton(
                icon: const Icon(Icons.arrow_back_ios),
                onPressed: () => Navigator.of(context).pop(),
              ),
              title: Text(AppLocalizations.of(context)!.account),
              centerTitle: true,
            ),
          );
        })
      },
    );
  }
}

class Home extends StatelessWidget {
  const Home({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        centerTitle: true,
        title: Text(
          "My App",
          style: TextStyle(fontFamily: 'Config-Bold', color: Theme.of(context).colorScheme.onSurface, fontSize: 20, fontWeight: FontWeight.bold),
        ),
        backgroundColor: Colors.transparent,
        elevation: 0.0,
        iconTheme: Theme.of(context).iconTheme,
        actions: [
          IconButton(
            icon: const Icon(Icons.account_circle),
            color: Theme.of(context).colorScheme.onSurface,
            onPressed: () {
              Navigator.of(context).pushNamed('/profile');
            },
          ),
        ],
      ),
      body: SafeArea(
        child: Center(
          child: ElevatedButton(
            onPressed: () {
              Navigator.of(context).pushNamed('/sign-in');
            },
            child: const Text('Sign In'),
          ),
        ),
      ),
    );
  }
}
danagbemava-nc commented 7 months ago

Hi @reimager, the providers for your ProfileScreen are empty. Can you try adding the providers you've currently configured to see if it works as expected?

reimager commented 7 months ago

@danagbemava-nc That was it! Didnt even see that line and just assumed configureProviders handled that. Thank you!