[🐛 firebase_ui_auth] otp verification may not trigger on first launch when clicking the submit button on the keyboard
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- dart, firebase
- 領域
- authentication, mobile
調査の方向性
まず、Android と iOS で Firebase UI Auth の OTP 検証フローを再現し、初回起動とキーボードの送信ボタンに焦点を当てます。OTP 検証のエントリーポイントを追跡し、キーボードからの送信と表示されている送信コントロールを比較します。完了条件は、両プラットフォームで初回起動時にキーボードからの送信によって確実に検証がトリガーされることです。
索引モデルが issue の本文から書いたものです。
説明
Is there an existing issue for this?
- 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?
Android, iOS
List of dependencies used.
flutter pub deps -s list
Dart SDK 3.2.3 Flutter SDK 3.16.5 appName 1.0.32+57dependencies:
- cached_network_image 3.3.1
- cached_network_image_platform_interface ^4.0.0
- cached_network_image_web ^1.1.1
- flutter any
- flutter_cache_manager ^3.3.1
- octo_image ^2.0.0
- cloud_firestore 4.14.0
- cloud_firestore_platform_interface ^6.1.0
- cloud_firestore_web ^3.9.0
- collection ^1.0.0
- firebase_core ^2.24.2
- firebase_core_platform_interface ^5.0.0
- flutter any
- meta ^1.8.0
- cloud_functions 4.6.0
- cloud_functions_platform_interface ^5.5.11
- cloud_functions_web ^4.6.11
- firebase_core ^2.24.2
- firebase_core_platform_interface ^5.0.0
- flutter any
- cropperx 1.1.1
- flutter any
- firebase_analytics 10.8.0
- firebase_analytics_platform_interface ^3.9.0
- firebase_analytics_web ^0.5.5+12
- firebase_core ^2.24.2
- firebase_core_platform_interface ^5.0.0
- flutter any
- firebase_auth 4.16.0
- firebase_auth_platform_interface ^7.0.9
- firebase_auth_web ^5.8.13
- firebase_core ^2.24.2
- firebase_core_platform_interface ^5.0.0
- flutter any
- meta ^1.8.0
- firebase_core 2.24.2
- firebase_core_platform_interface ^5.0.0
- firebase_core_web ^2.10.0
- flutter any
- meta ^1.8.0
- firebase_crashlytics 3.4.9
- firebase_core ^2.24.2
- firebase_core_platform_interface ^5.0.0
- firebase_crashlytics_platform_interface ^3.6.16
- flutter any
- stack_trace ^1.10.0
- firebase_dynamic_links 5.4.8
- firebase_core ^2.24.2
- firebase_core_platform_interface ^5.0.0
- firebase_dynamic_links_platform_interface ^0.2.6+16
- flutter any
- meta ^1.8.0
- plugin_platform_interface ^2.1.3
- firebase_storage 11.6.0
- firebase_core ^2.24.2
- firebase_core_platform_interface ^5.0.0
- firebase_storage_platform_interface ^5.1.3
- firebase_storage_web ^3.6.17
- flutter any
- firebase_messaging 14.7.10
- firebase_core ^2.24.2
- firebase_core_platform_interface ^5.0.0
- firebase_messaging_platform_interface ^4.5.18
- firebase_messaging_web ^3.5.18
- flutter any
- meta ^1.8.0
- firebase_ui_auth 1.12.0
- email_validator ^2.1.17
- firebase_auth ^4.15.3
- firebase_core ^2.24.2
- firebase_dynamic_links ^5.4.8
- firebase_ui_localizations ^1.10.0
- firebase_ui_oauth ^1.4.16
- firebase_ui_shared ^1.4.1
- flutter any
- flutter_localizations any
- meta ^1.10.0
- firebase_ui_firestore 1.6.0
- cloud_firestore ^4.13.6
- firebase_ui_localizations ^1.10.0
- firebase_ui_shared ^1.4.1
- flutter any
- firebase_ui_localizations 1.10.0
- flutter any
- flutter_localizations any
- path ^1.8.3
- 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
- hijri 3.0.0
- image_picker 1.0.6
- 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
- package_info_plus 5.0.1
- 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
- web >=0.3.0 <0.5.0
- win32 >=4.0.0 <6.0.0
- pretty_diff_text 1.0.0
- flutter any
- diff_match_patch ^0.4.1
- provider 6.1.1
- collection ^1.15.0
- flutter any
- nested ^1.0.0
- url_launcher 6.2.2
- 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
- webview_flutter 4.4.3
- flutter any
- webview_flutter_android ^3.12.0
- webview_flutter_platform_interface ^2.6.0
- webview_flutter_wkwebview ^3.9.0
- flutter_local_notifications 16.3.0
- clock ^1.1.0
- flutter any
- flutter_local_notifications_linux ^4.0.0
- flutter_local_notifications_platform_interface ^7.0.0
- timezone ^0.9.0
- launch_review 3.0.1
- flutter any
- font_awesome_flutter 10.6.0
- flutter any
- flutter_linkify 6.0.0
- flutter any
- linkify ^5.0.0
- 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
- 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
- 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
- firebase_app_check 0.2.1+8
- firebase_app_check_platform_interface ^0.1.0+10
- firebase_app_check_web ^0.1.0+10
- firebase_core ^2.24.2
- firebase_core_platform_interface ^5.0.0
- flutter any
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
- dependency_validator 3.2.3
- args ^2.0.0
- build_config ^1.0.0
- checked_yaml ^2.0.1
- glob ^2.0.1
- io ^1.0.0
- json_annotation ^4.8.0
- logging ^1.0.1
- package_config ^2.0.0
- path ^1.8.0
- pub_semver ^2.0.0
- pubspec_parse ^1.0.0
- yaml ^3.1.0
- 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
transitive dependencies:
- _flutterfire_internals 1.3.16
- collection ^1.0.0
- firebase_core ^2.24.2
- firebase_core_platform_interface ^5.0.0
- flutter any
- meta ^1.8.0
- archive 3.4.10
- 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
- boolean_selector 2.1.1
- source_span ^1.8.0
- string_scanner ^1.1.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
- cached_network_image_platform_interface 4.0.0
- flutter any
- flutter_cache_manager ^3.3.1
- cached_network_image_web 1.1.1
- cached_network_image_platform_interface ^4.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.1
- meta ^1.3.0
- path ^1.8.0
- clock 1.1.1
- cloud_firestore_platform_interface 6.1.0
- _flutterfire_internals ^1.3.16
- collection ^1.15.0
- firebase_core ^2.24.2
- flutter any
- meta ^1.8.0
- plugin_platform_interface ^2.1.3
- cloud_firestore_web 3.9.0
- _flutterfire_internals ^1.3.16
- cloud_firestore_platform_interface ^6.1.0
- collection ^1.0.0
- firebase_core ^2.24.2
- firebase_core_web ^2.10.0
- flutter any
- flutter_web_plugins any
- js ^0.6.3
- cloud_functions_platform_interface 5.5.11
- firebase_core ^2.24.2
- flutter any
- meta ^1.8.0
- plugin_platform_interface ^2.1.3
- cloud_functions_web 4.6.11
- cloud_functions_platform_interface ^5.5.11
- firebase_core ^2.24.2
- firebase_core_web ^2.10.0
- flutter any
- flutter_web_plugins any
- js ^0.6.3
- collection 1.18.0
- convert 3.1.1
- typed_data ^1.3.0
- cross_file 0.3.3+8
- meta ^1.3.0
- web >=0.3.0 <0.5.0
- crypto 3.0.3
- typed_data ^1.3.0
- dbus 0.7.10
- args ^2.0.0
- ffi ^2.0.0
- meta ^1.3.0
- xml ^6.1.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
- diff_match_patch 0.4.1
- 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.9.0
- _flutterfire_internals ^1.3.16
- firebase_core ^2.24.2
- flutter any
- meta ^1.8.0
- plugin_platform_interface ^2.1.3
- firebase_analytics_web 0.5.5+12
- _flutterfire_internals ^1.3.16
- firebase_analytics_platform_interface ^3.9.0
- firebase_core ^2.24.2
- firebase_core_web ^2.10.0
- flutter any
- flutter_web_plugins any
- js ^0.6.3
- firebase_app_check_platform_interface 0.1.0+10
- _flutterfire_internals ^1.3.16
- firebase_core ^2.24.2
- flutter any
- meta ^1.8.0
- plugin_platform_interface ^2.1.3
- firebase_app_check_web 0.1.0+10
- _flutterfire_internals ^1.3.16
- firebase_app_check_platform_interface ^0.1.0+10
- firebase_core ^2.24.2
- firebase_core_web ^2.10.0
- flutter any
- flutter_web_plugins any
- js ^0.6.3
- firebase_auth_platform_interface 7.0.9
- _flutterfire_internals ^1.3.16
- collection ^1.16.0
- firebase_core ^2.24.2
- flutter any
- meta ^1.8.0
- plugin_platform_interface ^2.1.3
- firebase_auth_web 5.8.13
- firebase_auth_platform_interface ^7.0.9
- firebase_core ^2.24.2
- firebase_core_web ^2.10.0
- 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.10.0
- 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.16
- _flutterfire_internals ^1.3.16
- collection ^1.15.0
- firebase_core ^2.24.2
- flutter any
- meta ^1.8.0
- plugin_platform_interface ^2.1.3
- firebase_dynamic_links_platform_interface 0.2.6+16
- _flutterfire_internals ^1.3.16
- firebase_core ^2.24.2
- flutter any
- meta ^1.8.0
- plugin_platform_interface ^2.1.3
- firebase_messaging_platform_interface 4.5.18
- _flutterfire_internals ^1.3.16
- firebase_core ^2.24.2
- flutter any
- meta ^1.8.0
- plugin_platform_interface ^2.1.3
- firebase_messaging_web 3.5.18
- _flutterfire_internals ^1.3.16
- firebase_core ^2.24.2
- firebase_core_web ^2.10.0
- firebase_messaging_platform_interface ^4.5.18
- flutter any
- flutter_web_plugins any
- js ^0.6.3
- meta ^1.8.0
- firebase_storage_platform_interface 5.1.3
- _flutterfire_internals ^1.3.16
- collection ^1.15.0
- firebase_core ^2.24.2
- flutter any
- meta ^1.8.0
- plugin_platform_interface ^2.1.3
- firebase_storage_web 3.6.17
- _flutterfire_internals ^1.3.16
- async ^2.5.0
- firebase_core ^2.24.2
- firebase_core_web ^2.10.0
- firebase_storage_platform_interface ^5.1.3
- flutter any
- flutter_web_plugins any
- http >=0.13.0 <2.0.0
- js ^0.6.3
- meta ^1.8.0
- firebase_ui_oauth 1.4.16
- desktop_webview_auth ^0.0.14
- firebase_auth ^4.15.3
- firebase_ui_auth ^1.12.0
- firebase_ui_shared ^1.4.1
- flutter_svg ^2.0.9
- flutter any
- firebase_ui_shared 1.4.1
- flutter any
- 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_local_notifications_linux 4.0.0+1
- dbus ^0.7.8
- ffi ^2.0.1
- flutter any
- flutter_local_notifications_platform_interface ^7.0.0
- path ^1.8.0
- xdg_directories >=0.2.0+1 <2.0.0
- flutter_local_notifications_platform_interface 7.0.0+1
- flutter any
- plugin_platform_interface ^2.0.0
- 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
- flutter_plugin_android_lifecycle 2.0.17
- 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
- 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
- http 1.1.2
- async ^2.5.0
- http_parser ^4.0.0
- meta ^1.3.0
- web >=0.3.0 <0.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 4.1.3
- archive ^3.4.0
- meta ^1.3.0
- xml ^6.0.1
- image_picker_android 0.8.9+2
- flutter any
- flutter_plugin_android_lifecycle ^2.0.1
- image_picker_platform_interface ^2.8.0
- image_picker_for_web 3.0.2
- flutter any
- flutter_web_plugins any
- image_picker_platform_interface ^2.9.0
- mime ^1.0.4
- image_picker_ios 0.8.9
- 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.2
- 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
- linkify 5.0.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
- 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 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
- path_provider_android 2.2.2
- 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+2
- 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.2
- meta ^1.9.0
- platform 3.1.4
- plugin_platform_interface 2.1.8
- meta ^1.3.0
- pointycastle 3.7.3
- collection ^1.15.0
- convert ^3.0.0
- js ^0.6.3
- 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
- rxdart 0.27.7
- sky_engine 0.0.99
- 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
- string_scanner 1.2.0
- source_span ^1.8.0
- synchronized 3.1.0+1
- 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
- timezone 0.9.2
- path ^1.8.0
- typed_data 1.3.2
- collection ^1.15.0
- url_launcher_android 6.2.1
- flutter any
- url_launcher_platform_interface ^2.2.0
- url_launcher_ios 6.2.2
- flutter any
- url_launcher_platform_interface ^2.2.0
- url_launcher_linux 3.1.1
- 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.3.0
- flutter any
- plugin_platform_interface ^2.1.0
- url_launcher_web 2.2.3
- 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.1
- flutter any
- url_launcher_platform_interface ^2.2.0
- uuid 4.2.2
- 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
- web 0.3.0
- webview_flutter_android 3.13.2
- flutter any
- webview_flutter_platform_interface ^2.7.0
- webview_flutter_platform_interface 2.9.0
- flutter any
- meta ^1.7.0
- plugin_platform_interface ^2.1.0
- webview_flutter_wkwebview 3.10.1
- flutter any
- path ^1.8.0
- webview_flutter_platform_interface ^2.7.0
- win32 5.2.0
- ffi ^2.1.0
- win32_registry 1.1.2
- ffi ^2.1.0
- win32 ^5.0.7
- xdg_directories 1.0.4
- meta ^1.3.0
- path ^1.8.0
- xml 6.5.0
- 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
- run fresh app with auth state as signed out.
- select registration with phone
- enter a test phone number
- click the done/submit button on the keyboard
- enter the test validation code
- click the done/submit button on the keyboard
code sample to reproduce bug
import 'package:firebase_auth/firebase_auth.dart' hide PhoneAuthProvider, EmailAuthProvider;
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:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'firebase_options.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
FirebaseUIAuth.configureProviders([
EmailAuthProvider(),
PhoneAuthProvider(),
]);
runApp(const FirebaseAuthUIExample());
}
class LabelOverrides extends DefaultLocalizations {
const LabelOverrides();
@override
String get emailInputLabel => 'Enter your email';
}
class FirebaseAuthUIExample extends StatelessWidget {
const FirebaseAuthUIExample({super.key});
String get initialRoute {
final user = FirebaseAuth.instance.currentUser;
return switch (user) {
null => '/',
_ => '/profile',
};
}
@override
Widget build(BuildContext context) {
final mfaAction = AuthStateChangeAction<MFARequired>(
(context, state) async {
final nav = Navigator.of(context);
await startMFAVerification(
resolver: state.resolver,
context: context,
);
nav.pushReplacementNamed('/profile');
},
);
return MaterialApp(
initialRoute: initialRoute,
routes: {
'/': (context) {
return SignInScreen(
actions: [
VerifyPhoneAction((context, _) {
Navigator.pushNamed(context, '/phone');
}),
mfaAction,
EmailLinkSignInAction((context) {
Navigator.pushReplacementNamed(context, '/email-link-sign-in');
}),
],
);
},
'/phone': (context) {
return PhoneInputScreen(
actions: [
SMSCodeRequestedAction((context, action, flowKey, phone) {
Navigator.of(context).pushReplacementNamed(
'/sms',
arguments: {
'action': action,
'flowKey': flowKey,
'phone': phone,
},
);
}),
],
);
},
'/sms': (context) {
final arguments = ModalRoute.of(context)?.settings.arguments as Map<String, dynamic>?;
return SMSCodeInputScreen(
actions: [
AuthStateChangeAction<SignedIn>((context, state) {
Navigator.of(context).pushReplacementNamed('/profile');
})
],
flowKey: arguments?['flowKey'],
action: arguments?['action'],
);
},
'/profile': (context) {
final platform = Theme.of(context).platform;
return ProfileScreen(
actions: [
SignedOutAction((context) {
Navigator.pushReplacementNamed(context, '/');
}),
mfaAction,
],
showMFATile: kIsWeb || platform == TargetPlatform.iOS || platform == TargetPlatform.android,
showUnlinkConfirmationDialog: true,
showDeleteConfirmationDialog: true,
);
},
},
title: 'Firebase UI demo',
debugShowCheckedModeBanner: false,
locale: const Locale('ar', 'SA'),
supportedLocales: [const Locale('ar', 'SA')],
localizationsDelegates: [
FirebaseUILocalizations.withDefaultOverrides(const LabelOverrides()),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
FirebaseUILocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
);
}
}
the OTP verification starts and the user gets signed in.
Actual Behavior
sometimes the verification does not start (blocked by something? I am not certain) and another click (sometimes multiple clicks) on verify button is required to verify OTP. in other instances, I have to go back to main login page and retry entering the phone number and request another OTP. I notice that this happens when the app is launched fresh and not when signed out and then trying to sign in again.
Additional Information
I used this with a test phone number that was added to firebase authentication. When I try the same with a real phone number I end up receiving multiple SMS messages from Firebase. This makes the auth costs almost double for my project.
Here is a screen recording for the issue. in the video you notice the first sign in does not pick the OTP confirm button click and I had to click verify. In the second attempt (in the same screen recording) the OTP confirm button works right away.
https://github.com/firebase/FirebaseUI-Flutter/assets/12709757/c6508b8c-9100-4f1e-9ad4-792811ffbb8d
- 主要言語
- Dart
- スター
- 152
- フォーク
- 141
- 平均マージ
- 2日 12時間
- マージ済み PR(30日)
- 9
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
firebase/FirebaseUI-Flutter のほかの issue
-
Keep Open Needs Attention
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
firebase/FirebaseUI-Flutter#481 · コメント 6 件 ·
-
auth blocked: customer response enhancement Keep Open
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
firebase/FirebaseUI-Flutter#418 · コメント 7 件 · リアクション 3 件 ·
-
auth Keep Open Needs Attention
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
firebase/FirebaseUI-Flutter#351 · コメント 3 件 · リアクション 1 件 ·
-
enhancement Keep Open storage
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
firebase/FirebaseUI-Flutter#290 · コメント 2 件 ·
-
auth Keep Open platform: android
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
firebase/FirebaseUI-Flutter#283 · コメント 9 件 · リアクション 1 件 ·
firebase/FirebaseUI-Flutter の issue をすべて見る
似ている issue
-
status: needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
a2ui-project/a2ui#2782 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
MaikuB/flutter_local_notifications#2832 · コメント 1 件 ·
-
bug triage
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
fluttercommunity/plus_plugins#3979 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
flutter-webrtc/flutter-webrtc#2206 ·
-
from.page-issue
難易度 1/5 1時間未満 初心者へのやさしさ 85/100