firebase / FirebaseUI-Flutter

Apache License 2.0
92 stars 81 forks source link

AuthAction.link not working correctly with AppleProvider #162

Closed canbi closed 8 months ago

canbi commented 8 months ago

Is there an existing issue for this?

What plugin is this bug for?

Firebase UI OAuth

What platform(s) does this bug affect?

iOS

List of dependencies used.

flutter pub deps -s list
- firebase_ui_oauth_apple 1.2.13
  - firebase_auth ^4.11.1
  - firebase_ui_oauth ^1.4.13
  - flutter any
- firebase_ui_oauth_google 1.2.13
  - firebase_auth ^4.11.1
  - firebase_ui_oauth ^1.4.13
  - flutter any
  - google_sign_in ^6.1.0
- freezed_annotation 2.4.1
  - collection ^1.15.0
  - json_annotation ^4.6.0
  - meta ^1.7.0
- gaimon 1.2.0
  - flutter any
- geocoding 2.1.1
  - flutter any
  - geocoding_platform_interface ^2.0.0
  - geocoding_android ^2.1.0
  - geocoding_ios ^2.1.0
- geolocator 10.1.0
  - flutter any
  - geolocator_platform_interface ^4.1.0
  - geolocator_android ^4.3.0
  - geolocator_apple ^2.3.0
  - geolocator_web ^2.2.0
  - geolocator_windows ^0.2.1
- google_maps_flutter 2.5.0
  - flutter any
  - google_maps_flutter_android ^2.5.0
  - google_maps_flutter_ios ^2.3.0
  - google_maps_flutter_platform_interface ^2.4.0
  - google_maps_flutter_web ^0.5.2
- google_sign_in 6.1.5
  - 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
- gradient_borders 1.0.0
  - flutter any
- image_cropper 5.0.0
  - flutter any
  - image_cropper_platform_interface ^5.0.0
  - image_cropper_for_web ^3.0.0
- 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
- intl 0.18.1
  - clock ^1.1.0
  - meta ^1.0.2
  - path ^1.8.0
- introduction_screen 3.1.12
  - flutter any
  - collection ^1.17.1
  - dots_indicator ^2.1.2
  - flutter_keyboard_visibility ^5.4.1
- in_app_review 2.0.8
  - flutter any
  - in_app_review_platform_interface ^2.0.5
- json_annotation 4.8.1
  - meta ^1.4.0
- map_launcher 3.0.1
  - flutter any
- permission_handler 11.0.1
  - flutter any
  - meta ^1.7.0
  - permission_handler_android ^11.0.0
  - permission_handler_apple ^9.1.4
  - permission_handler_windows ^0.1.3
  - permission_handler_platform_interface ^3.11.5
- photo_view 0.14.0
  - flutter any
- reactive_forms 16.1.1
  - flutter any
  - intl >=0.18.0 <1.0.0
- rive 0.12.1
  - collection ^1.15.0
  - flutter any
  - flutter_web_plugins any
  - http >=0.13.3 <2.0.0
  - meta ^1.3.0
  - plugin_platform_interface ^2.0.2
  - rive_common 0.2.7
- riverpod_annotation 2.2.1
  - meta ^1.7.0
  - riverpod 2.4.4
- scrollable_positioned_list 0.3.8
  - flutter any
  - collection ^1.15.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.1.14
  - flutter any
  - url_launcher_android ^6.0.13
  - url_launcher_ios ^6.0.13
  - url_launcher_linux >=2.0.0 <4.0.0
  - url_launcher_macos >=2.0.0 <4.0.0
  - url_launcher_platform_interface ^2.1.0
  - url_launcher_web ^2.0.0
  - url_launcher_windows >=2.0.0 <4.0.0
- uuid 3.0.7
  - crypto ^3.0.0
- widget_to_marker 1.0.4
  - flutter any
  - google_maps_flutter ^2.2.3

dev dependencies:
- auto_route_generator 7.3.2
  - build ^2.1.1
  - source_gen ^1.2.7
  - analyzer >=5.9.0 <7.0.0
  - path ^1.8.0
  - build_runner ^2.1.5
  - code_builder ^4.5.0
  - dart_style ^2.3.1
  - xml ^6.0.1
  - args ^2.3.1
  - glob ^2.0.1
  - auto_route ^7.8.4
- 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
- custom_lint 0.5.4
  - analyzer >=5.12.0 <7.0.0
  - analyzer_plugin ^0.11.0
  - args ^2.3.1
  - async ^2.9.0
  - ci ^0.1.0
  - cli_util ^0.4.0
  - collection ^1.16.0
  - freezed_annotation ^2.2.0
  - json_annotation ^4.7.0
  - meta ^1.7.0
  - package_config ^2.0.2
  - path ^1.8.0
  - pub_semver ^2.1.1
  - pubspec_parse ^1.2.0
  - rxdart ^0.27.7
  - uuid >=3.0.6 <5.0.0
  - yaml ^3.1.1
- flutter_gen_runner 5.3.2
  - flutter_gen_core 5.3.2
  - build ^2.0.0
  - collection ^1.17.0
  - crypto ^3.0.0
  - glob ^2.0.0
  - path ^1.8.0
- flutter_test 0.0.0
  - flutter any
  - test_api 0.6.0
  - matcher 0.12.16
  - path 1.8.3
  - fake_async 1.3.1
  - clock 1.1.1
  - stack_trace 1.11.0
  - vector_math 2.1.4
  - async 2.11.0
  - boolean_selector 2.1.1
  - characters 1.3.0
  - collection 1.17.2
  - material_color_utilities 0.5.0
  - meta 1.9.1
  - source_span 1.10.0
  - stream_channel 2.1.1
  - string_scanner 1.2.0
  - term_glyph 1.2.1
  - web 0.1.4-beta
- freezed 2.4.5
  - analyzer >=5.13.0 <7.0.0
  - build ^2.3.1
  - build_config ^1.1.0
  - collection ^1.15.0
  - meta ^1.9.1
  - source_gen ^1.2.3
  - freezed_annotation ^2.4.1
  - json_annotation ^4.6.0
- json_serializable 6.7.1
  - analyzer >=5.12.0 <7.0.0
  - async ^2.8.0
  - build ^2.0.0
  - build_config >=0.4.4 <2.0.0
  - collection ^1.14.0
  - json_annotation >=4.8.1 <4.9.0
  - meta ^1.3.0
  - path ^1.8.0
  - pub_semver ^2.0.0
  - pubspec_parse ^1.0.0
  - source_gen ^1.3.2
  - source_helper ^1.3.0
- riverpod_generator 3.0.0-dev.5
  - analyzer >=6.0.0 <7.0.0
  - build ^2.0.0
  - build_config ^1.0.0
  - collection ^1.15.0
  - crypto ^3.0.2
  - meta ^1.7.0
  - path ^1.8.0
  - riverpod_analyzer_utils ^0.4.2
  - riverpod_annotation ^2.2.1
  - source_gen ^1.2.0
- riverpod_lint 2.3.2
  - analyzer >=6.0.0 <7.0.0
  - analyzer_plugin ^0.11.2
  - collection ^1.16.0
  - custom_lint_builder ^0.5.2
  - meta ^1.7.0
  - path ^1.8.1
  - riverpod ^2.4.4
  - riverpod_analyzer_utils ^0.4.2
  - source_span ^1.8.0
  - yaml ^3.1.1
- very_good_analysis 5.1.0

transitive dependencies:
- _fe_analyzer_shared 64.0.0
  - meta ^1.9.0
- _flutterfire_internals 1.3.9
  - collection ^1.0.0
  - firebase_core ^2.19.0
  - firebase_core_platform_interface ^5.0.0
  - flutter any
  - meta ^1.8.0
- analyzer 6.2.0
  - _fe_analyzer_shared ^64.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
- analyzer_plugin 0.11.3
  - analyzer ^6.0.0
  - collection ^1.15.0
  - dart_style ^2.2.1
  - pub_semver ^2.1.0
  - yaml ^3.1.0
- archive 3.4.6
  - 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 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.0
  - built_collection ^5.0.0
  - built_value ^8.1.0
  - 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_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.6.3
  - built_collection ^5.0.0
  - collection ^1.15.0
  - fixnum ^1.0.0
  - meta ^1.3.0
- characters 1.3.0
- checked_yaml 2.0.3
  - json_annotation ^4.3.0
  - source_span ^1.8.0
  - yaml ^3.0.0
- ci 0.1.0
- cli_util 0.4.0
  - meta ^1.3.0
  - path ^1.8.0
- clock 1.1.1
- cloud_firestore_platform_interface 6.0.1
  - _flutterfire_internals ^1.3.9
  - collection ^1.15.0
  - firebase_core ^2.19.0
  - flutter any
  - meta ^1.8.0
  - plugin_platform_interface ^2.1.3
- cloud_firestore_web 3.8.1
  - _flutterfire_internals ^1.3.9
  - cloud_firestore_platform_interface ^6.0.1
  - collection ^1.0.0
  - firebase_core ^2.19.0
  - firebase_core_web ^2.8.1
  - flutter any
  - flutter_web_plugins any
  - js ^0.6.3
- code_builder 4.7.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.17.2
- color 3.0.0
- convert 3.1.1
  - typed_data ^1.3.0
- cross_file 0.3.3+6
  - 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
- custom_lint_builder 0.5.4
  - analyzer >=5.12.0 <7.0.0
  - analyzer_plugin ^0.11.0
  - collection ^1.16.0
  - custom_lint 0.5.4
  - custom_lint_core 0.5.4
  - glob ^2.1.1
  - hotreloader ^3.0.5
  - meta ^1.7.0
  - path ^1.8.0
  - pubspec_parse ^1.2.0
  - rxdart ^0.27.7
- custom_lint_core 0.5.4
  - analyzer >=5.12.0 <7.0.0
  - analyzer_plugin ^0.11.0
  - collection ^1.16.0
  - custom_lint 0.5.4
  - matcher ^0.12.0
  - meta ^1.7.0
  - path ^1.8.0
  - pubspec_parse ^1.2.2
  - source_span ^1.8.0
  - yaml ^3.1.1
- dart_style 2.3.3
  - analyzer ^6.2.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
- dartx 1.2.0
  - characters ^1.1.0
  - collection ^1.15.0
  - crypto ^3.0.0
  - meta ^1.3.0
  - path ^1.8.0
  - time ^2.0.0
- desktop_webview_auth 0.0.13
  - crypto ^3.0.3
  - flutter any
  - http ^1.0.0
  - flutter_web_plugins any
  - plugin_platform_interface ^2.1.4
- dots_indicator 2.1.2
  - flutter any
- easy_logger 0.0.2
  - flutter any
- 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_auth_platform_interface 7.0.1
  - _flutterfire_internals ^1.3.9
  - collection ^1.16.0
  - firebase_core ^2.19.0
  - flutter any
  - meta ^1.8.0
  - plugin_platform_interface ^2.1.3
- firebase_auth_web 5.8.4
  - firebase_auth_platform_interface ^7.0.1
  - firebase_core ^2.19.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_dynamic_links 5.4.1
  - firebase_core ^2.19.0
  - firebase_core_platform_interface ^5.0.0
  - firebase_dynamic_links_platform_interface ^0.2.6+9
  - flutter any
  - meta ^1.8.0
  - plugin_platform_interface ^2.1.3
- firebase_dynamic_links_platform_interface 0.2.6+9
  - _flutterfire_internals ^1.3.9
  - firebase_core ^2.19.0
  - flutter any
  - meta ^1.8.0
  - plugin_platform_interface ^2.1.3
- firebase_storage_platform_interface 4.4.9
  - collection ^1.15.0
  - firebase_core ^2.19.0
  - flutter any
  - meta ^1.8.0
  - plugin_platform_interface ^2.1.3
- firebase_storage_web 3.6.10
  - _flutterfire_internals ^1.3.9
  - async ^2.5.0
  - firebase_core ^2.19.0
  - firebase_core_web ^2.8.1
  - firebase_storage_platform_interface ^4.4.9
  - flutter any
  - flutter_web_plugins any
  - http >=0.13.0 <2.0.0
  - js ^0.6.3
  - meta ^1.8.0
- firebase_ui_localizations 1.7.1
  - flutter any
  - flutter_localizations any
  - path ^1.8.2
- firebase_ui_oauth 1.4.13
  - desktop_webview_auth ^0.0.13
  - firebase_auth ^4.11.1
  - firebase_ui_auth ^1.9.1
  - firebase_ui_shared ^1.4.1
  - flutter_svg ^2.0.7
  - flutter any
- firebase_ui_shared 1.4.1
  - flutter any
- fixnum 1.1.0
- flutter_gen_core 5.3.2
  - path ^1.8.0
  - yaml ^3.0.0
  - mime ^1.0.0
  - xml ^6.0.0
  - dartx ^1.0.0
  - color ^3.0.0
  - collection ^1.15.0
  - json_annotation ^4.4.0
  - glob ^2.0.0
  - dart_style ^2.2.4
  - args ^2.0.0
  - pub_semver ^2.0.0
- flutter_keyboard_visibility 5.4.1
  - meta >=1.0.0 <2.0.0
  - flutter_keyboard_visibility_platform_interface ^2.0.0
  - flutter_keyboard_visibility_linux ^1.0.0
  - flutter_keyboard_visibility_macos ^1.0.0
  - flutter_keyboard_visibility_web ^2.0.0
  - flutter_keyboard_visibility_windows ^1.0.0
  - flutter any
- flutter_keyboard_visibility_linux 1.0.0
  - flutter_keyboard_visibility_platform_interface ^2.0.0
  - flutter any
- flutter_keyboard_visibility_macos 1.0.0
  - flutter_keyboard_visibility_platform_interface ^2.0.0
  - flutter any
- flutter_keyboard_visibility_platform_interface 2.0.0
  - flutter any
  - meta >=1.0.0 <2.0.0
  - plugin_platform_interface ^2.0.0
- flutter_keyboard_visibility_web 2.0.0
  - flutter_keyboard_visibility_platform_interface ^2.0.0
  - flutter_web_plugins any
  - flutter any
- flutter_keyboard_visibility_windows 1.0.0
  - flutter_keyboard_visibility_platform_interface ^2.0.0
  - flutter any
- flutter_plugin_android_lifecycle 2.0.16
  - flutter any
- flutter_spinkit 5.2.0
  - flutter any
- flutter_web_plugins 0.0.0
  - flutter any
  - characters 1.3.0
  - collection 1.17.2
  - material_color_utilities 0.5.0
  - meta 1.9.1
  - vector_math 2.1.4
  - web 0.1.4-beta
- frontend_server_client 3.2.0
  - async ^2.5.0
  - path ^1.8.0
- geocoding_android 2.1.2
  - flutter any
  - geocoding_platform_interface ^2.0.0
- geocoding_ios 2.1.0
  - flutter any
  - geocoding_platform_interface ^2.0.0
- geocoding_platform_interface 2.0.1
  - flutter any
  - meta ^1.3.0
  - plugin_platform_interface ^2.0.0
- geolocator_android 4.3.1
  - flutter any
  - geolocator_platform_interface ^4.1.0
  - uuid ^3.0.7
- geolocator_apple 2.3.2
  - flutter any
  - geolocator_platform_interface ^4.1.0
- geolocator_platform_interface 4.1.1
  - flutter any
  - plugin_platform_interface ^2.1.6
  - vector_math ^2.1.4
  - meta ^1.9.1
- geolocator_web 2.2.0
  - flutter any
  - flutter_web_plugins any
  - geolocator_platform_interface ^4.1.0
- geolocator_windows 0.2.1
  - flutter any
  - geolocator_platform_interface ^4.1.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_maps 6.3.0
  - js ^0.6.3
  - js_wrapping ^0.7.4
  - meta ^1.3.0
- google_maps_flutter_android 2.5.1
  - flutter any
  - flutter_plugin_android_lifecycle ^2.0.1
  - google_maps_flutter_platform_interface ^2.4.0
  - stream_transform ^2.0.0
- google_maps_flutter_ios 2.3.2
  - flutter any
  - google_maps_flutter_platform_interface ^2.4.0
  - stream_transform ^2.0.0
- google_maps_flutter_platform_interface 2.4.1
  - collection ^1.15.0
  - flutter any
  - plugin_platform_interface ^2.1.0
  - stream_transform ^2.0.0
- google_maps_flutter_web 0.5.4+2
  - collection ^1.16.0
  - flutter any
  - flutter_web_plugins any
  - google_maps ^6.1.0
  - google_maps_flutter_platform_interface ^2.4.0
  - sanitize_html ^2.0.0
  - stream_transform ^2.0.0
- google_sign_in_android 6.1.20
  - flutter any
  - google_sign_in_platform_interface ^2.2.0
- google_sign_in_ios 5.6.3
  - flutter any
  - google_sign_in_platform_interface ^2.2.0
- 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.0+5
  - flutter any
  - flutter_web_plugins any
  - google_identity_services_web ^0.2.1
  - 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
- hotreloader 3.0.6
  - collection ^1.15.0
  - logging ^1.0.0
  - path ^1.8.0
  - stream_transform ^2.0.0
  - vm_service >=6.0.1 <12.0.0
  - watcher ^1.0.0
- html 0.15.4
  - csslib >=0.17.0 <2.0.0
  - source_span ^1.8.0
- http 1.1.0
  - async ^2.5.0
  - http_parser ^4.0.0
  - meta ^1.3.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 4.1.3
  - archive ^3.4.0
  - meta ^1.3.0
  - xml ^6.0.1
- image_cropper_for_web 3.0.0
  - flutter any
  - flutter_web_plugins any
  - image_cropper_platform_interface ^5.0.0
  - js ^0.6.3
- image_cropper_platform_interface 5.0.0
  - flutter any
  - plugin_platform_interface ^2.1.0
  - http ^1.0.0
- image_picker_android 0.8.8+1
  - 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+2
  - 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
- in_app_review_platform_interface 2.0.5
  - flutter any
  - url_launcher ^6.1.0
  - plugin_platform_interface ^2.0.0
  - platform ^3.0.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
- js_wrapping 0.7.4
  - js ^0.6.3
- 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.9.1
- mime 1.0.4
- package_config 2.1.0
  - path ^1.8.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.0
  - 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 11.1.0
  - flutter any
  - permission_handler_platform_interface ^3.12.0
- permission_handler_apple 9.1.4
  - flutter any
  - permission_handler_platform_interface ^3.11.2
- permission_handler_platform_interface 3.12.0
  - flutter any
  - meta ^1.3.0
  - plugin_platform_interface ^2.0.0
- permission_handler_windows 0.1.3
  - flutter any
  - permission_handler_platform_interface ^3.11.0
- petitparser 5.4.0
  - meta ^1.9.0
- platform 3.1.3
- plugin_platform_interface 2.1.6
  - 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
- 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
- rive_common 0.2.7
  - collection ^1.15.0
  - ffi ^2.0.1
  - flutter any
  - flutter_web_plugins any
  - graphs ^2.0.0
  - http ^1.1.0
  - meta ^1.3.0
  - plugin_platform_interface ^2.0.2
- riverpod 2.4.4
  - meta ^1.9.0
  - stack_trace ^1.10.0
  - state_notifier >=0.7.2 <2.0.0
- riverpod_analyzer_utils 0.4.2
  - analyzer >=5.12.0 <7.0.0
  - collection ^1.16.0
  - crypto ^3.0.2
  - custom_lint_core ^0.5.2
  - freezed_annotation ^2.2.0
  - meta ^1.7.0
  - path ^1.8.0
  - source_span ^1.8.0
- rxdart 0.27.7
- sanitize_html 2.1.0
  - html ^0.15.0
  - meta ^1.1.7
- 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.1
  - flutter any
  - flutter_web_plugins any
  - shared_preferences_platform_interface ^2.3.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
- sky_engine 0.0.99
- source_gen 1.4.0
  - analyzer >=5.2.0 <7.0.0
  - async ^2.5.0
  - build ^2.1.0
  - dart_style ^2.0.0
  - glob ^2.0.0
  - path ^1.8.0
  - source_span ^1.8.0
  - yaml ^3.0.0
- source_helper 1.3.4
  - analyzer >=5.12.0 <7.0.0
  - collection ^1.15.0
  - source_gen ^1.0.0
- source_span 1.10.0
  - collection ^1.15.0
  - path ^1.8.0
  - term_glyph ^1.2.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
  - 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.0
  - path ^1.8.0
- state_notifier 1.0.0
  - meta ^1.1.8
- stream_channel 2.1.1
  - async ^2.5.0
- stream_transform 2.1.0
- string_scanner 1.2.0
  - source_span ^1.8.0
- synchronized 3.1.0
- term_glyph 1.2.1
- test_api 0.6.0
  - 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
- time 2.1.3
  - clock ^1.1.1
- timing 1.0.1
  - json_annotation ^4.3.0
- typed_data 1.3.2
  - collection ^1.15.0
- universal_io 2.2.2
  - collection ^1.17.0
  - meta ^1.9.0
  - typed_data ^1.3.0
- url_launcher_android 6.1.0
  - flutter any
  - url_launcher_platform_interface ^2.0.3
- url_launcher_ios 6.1.5
  - flutter any
  - url_launcher_platform_interface ^2.0.3
- url_launcher_linux 3.0.6
  - flutter any
  - url_launcher_platform_interface ^2.0.3
- url_launcher_macos 3.0.7
  - flutter any
  - url_launcher_platform_interface ^2.0.3
- url_launcher_platform_interface 2.1.5
  - flutter any
  - plugin_platform_interface ^2.1.0
- url_launcher_web 2.0.20
  - flutter any
  - flutter_web_plugins any
  - url_launcher_platform_interface ^2.0.3
- url_launcher_windows 3.0.8
  - flutter any
  - url_launcher_platform_interface ^2.0.3
- vector_graphics 1.1.9
  - flutter any
  - vector_graphics_codec 1.1.9
- vector_graphics_codec 1.1.9
- vector_graphics_compiler 1.1.9
  - args ^2.3.0
  - meta ^1.7.0
  - path_parsing ^1.0.1
  - xml ^6.3.0
  - vector_graphics_codec 1.1.9
  - path ^1.8.0
- vector_math 2.1.4
- vm_service 11.10.0
- watcher 1.1.0
  - async ^2.5.0
  - path ^1.8.0
- web 0.1.4-beta
- web_socket_channel 2.4.0
  - async ^2.5.0
  - crypto ^3.0.0
  - stream_channel ^2.1.0
- win32 5.0.9
  - ffi ^2.1.0
- xdg_directories 1.0.3
  - meta ^1.3.0
  - path ^1.8.0
- xml 6.3.0
  - collection ^1.17.0
  - meta ^1.9.0
  - petitparser ^5.4.0
- yaml 3.1.2
  - collection ^1.15.0
  - source_span ^1.8.0
  - string_scanner ^1.1.0

Steps to reproduce

Expected Behavior

If anonymous user has uid: "123...", after linking account with Apple Sign in, account uid should continue with "123...".

Actual Behavior

If anonymous user has uid: "123...", after linking account with Apple Sign in, user now has different uid, so linking not working.

Additional Information

Used configuration:

return AuthStateListener<OAuthController>(
      listener: (oldState, newState, controller) {
        // in print, we can observe different uid, so it is create new account instead of linking
        print('currentUser id: ${FirebaseAuth.instance.currentUser?.uid}');
        if (newState is CredentialLinked) {
          // custom implemented method
        } else if (newState is AuthFailed) {
          // custom implemented method
        }
        return;
      },
      child: OAuthProviderButton(
        provider: AppleProvider(scopes: {'email', 'fullName'}),
        action: AuthAction.link,
        auth: FirebaseAuth.instance,
      ),
    );
canbi commented 8 months ago

My current solution is to override the onTap behavior and it works as expected.

return AppleSignInButton(
      loadingIndicator: const Center(child: CircularProgressIndicator.adaptive()),
      action: AuthAction.link,
      auth: FirebaseAuth.instance,
      overrideDefaultTapAction: true,
      onTap: () {
       // ...
       final currentUser = FirebaseAuth.instance.currentUser;
       if (currentUser == null) {
          // error handing 
          return;
       }

       currentUser.linkWithProvider(AppleProvider(scopes: {'email', 'fullName'}).firebaseAuthProvider).then((credentials) {
          // custom implemented method
       }).catchError((Object error) {
          // custom implemented method
       });
      },
    );
darshankawar commented 8 months ago

Thanks for the report. Seeing the same behavior as reported.