darwin-morocho / flutter-facebook-auth

A flutter plugin to add login with facebook in your flutter app
191 stars 124 forks source link

Firebase auth integration error on flutter web mobile #385

Closed rafaelCabralDS closed 3 months ago

rafaelCabralDS commented 3 months ago

What version are you using?

6.0.4

What OS and version are you using to local deploy your application?

Chrome 121.0.6167.101 on Android 14

What platforms are you seeing the problem on?

web

pubspec.yaml

details><summary>Click To Expand</summary>

Dart SDK 3.2.3
Flutter SDK 3.16.5
spirit 2.0.9

dependencies:
- animated_list_plus_custom 0.0.1 [flutter]
- animations 2.0.10 [flutter]
- cached_network_image 3.3.1 [cached_network_image_platform_interface cached_network_image_web flutter flutter_cache_manager octo_image]
- cloud_firestore 4.13.5 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cloud_functions 4.5.8 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- collection 1.18.0
- cupertino_icons 1.0.6
- equatable 2.0.5 [collection meta]
- extended_image 8.2.0 [extended_image_library flutter meta]
- firebase_analytics 10.7.4 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter]
- firebase_auth 4.17.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.25.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 3.4.8 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_dynamic_links 5.4.8 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]        
- firebase_messaging 14.7.8 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_storage 11.5.5 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math web sky_engine]
- flutter_blurhash 0.8.2 [flutter]
- flutter_cache_manager 3.3.1 [clock collection file flutter http path path_provider rxdart sqflite uuid]
- flutter_facebook_auth 6.0.4 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math web]
- flutter_native_splash 2.3.10 [args flutter flutter_web_plugins js html image meta path universal_io xml yaml ansicolor]
- flutter_spinkit 5.2.0 [flutter]
- geolocator 10.1.0 [flutter geolocator_platform_interface geolocator_android geolocator_apple geolocator_web geolocator_windows]
- get_it 7.6.4 [async collection]
- google_sign_in 6.2.1 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- image_picker 1.0.4 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_linux image_picker_macos image_picker_platform_interface image_picker_windows]
- intl 0.18.1 [clock meta path]
- mask_text_input_formatter 2.7.0 [flutter]
- octo_image 2.0.0 [flutter]
- package_info_plus 5.0.1 [ffi flutter flutter_web_plugins http meta path package_info_plus_platform_interface web win32]
- preload_page_view 0.2.0 [flutter]
- provider 6.1.1 [collection flutter nested]
- reorderables 0.6.0 [flutter]
- rxdart 0.27.7
- shared_preferences 2.2.2 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- simple_animations 5.0.2 [flutter collection]
- sliver_tools 0.2.12 [flutter]
- universal_html 2.2.4 [async csslib charcode collection html meta source_span typed_data universal_io]
- url_launcher 6.2.2 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- vector_math 2.1.4

dev dependencies:
- flutter_lints 2.0.3 [lints]
- flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math async boolean_selector characters collection material_color_utilities meta source_span stream_channel string_scanner term_glyph web]

transitive dependencies:
- _flutterfire_internals 1.3.17 [collection firebase_core firebase_core_platform_interface flutter meta]
- ansicolor 2.0.2
- archive 3.4.10 [crypto path pointycastle]
- args 2.4.2
- async 2.11.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- cached_network_image_platform_interface 4.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.1.1 [cached_network_image_platform_interface flutter flutter_cache_manager]
- characters 1.3.0
- charcode 1.3.1
- clock 1.1.1
- cloud_firestore_platform_interface 6.0.9 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.8.9 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]       
- cloud_functions_platform_interface 5.5.11 [firebase_core flutter meta plugin_platform_interface]
- cloud_functions_web 4.6.11 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- convert 3.1.1 [typed_data]
- cross_file 0.3.3+8 [meta web]
- crypto 3.0.3 [typed_data]
- csslib 1.0.0 [source_span]
- extended_image_library 4.0.1 [crypto flutter http_client_helper js path path_provider web]
- fake_async 1.3.1 [clock collection]
- ffi 2.1.0
- file 7.0.0 [meta path]
- file_selector_linux 0.9.2+1 [cross_file file_selector_platform_interface flutter]
- file_selector_macos 0.9.3+3 [cross_file file_selector_platform_interface flutter]
- file_selector_platform_interface 2.6.1 [cross_file flutter http plugin_platform_interface]
- file_selector_windows 0.9.3+1 [cross_file file_selector_platform_interface flutter]
- firebase_analytics_platform_interface 3.8.4 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_analytics_web 0.5.5+11 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_auth_platform_interface 7.1.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.9.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser js meta web]
- firebase_core_platform_interface 5.0.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.11.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta web]
- firebase_crashlytics_platform_interface 3.6.16 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.6+16 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 4.5.17 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.5.17 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]      
- firebase_storage_platform_interface 5.1.3 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.6.17 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- flutter_facebook_auth_platform_interface 5.0.0 [flutter plugin_platform_interface]
- flutter_facebook_auth_web 5.0.0 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface]
- flutter_plugin_android_lifecycle 2.0.17 [flutter]
- flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math web]
- geolocator_android 4.4.0 [flutter geolocator_platform_interface uuid]
- geolocator_apple 2.3.3 [flutter geolocator_platform_interface]
- geolocator_platform_interface 4.2.0 [flutter plugin_platform_interface vector_math meta]
- geolocator_web 2.2.0 [flutter flutter_web_plugins geolocator_platform_interface]
- geolocator_windows 0.2.2 [flutter geolocator_platform_interface]
- google_identity_services_web 0.3.0+2 [meta web]
- google_sign_in_android 6.1.21 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.7.3 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.5 [flutter plugin_platform_interface]
- google_sign_in_web 0.12.3+2 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http web]
- html 0.15.4 [csslib source_span]
- http 1.1.2 [async http_parser meta web]
- http_client_helper 3.0.0 [http]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- image 4.1.4 [archive meta xml]
- image_picker_android 0.8.8+2 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- image_picker_for_web 3.0.1 [flutter flutter_web_plugins image_picker_platform_interface mime]
- image_picker_ios 0.8.8+4 [flutter image_picker_platform_interface]
- image_picker_linux 0.2.1+1 [file_selector_linux file_selector_platform_interface flutter image_picker_platform_interface]
- image_picker_macos 0.2.1+1 [file_selector_macos file_selector_platform_interface flutter image_picker_platform_interface]
- image_picker_platform_interface 2.9.1 [cross_file flutter http plugin_platform_interface]
- image_picker_windows 0.2.1+1 [file_selector_platform_interface file_selector_windows flutter image_picker_platform_interface]
- js 0.6.7 [meta]
- lints 2.1.1
- matcher 0.12.16 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.5.0 [collection]
- meta 1.10.0
- mime 1.0.4
- nested 1.0.0 [flutter]
- package_info_plus_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- path 1.8.3
- path_provider 2.1.1 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- path_provider_android 2.2.1 [flutter path_provider_platform_interface]
- path_provider_foundation 2.3.1 [flutter path_provider_platform_interface]
- path_provider_linux 2.2.1 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.1.1 [flutter platform plugin_platform_interface]
- path_provider_windows 2.2.1 [ffi flutter path path_provider_platform_interface win32]
- petitparser 6.0.2 [meta]
- platform 3.1.3
- plugin_platform_interface 2.1.7 [meta]
- pointycastle 3.7.4 [collection convert js]
- shared_preferences_android 2.2.1 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.3.4 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.3.2 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.3.1 [flutter plugin_platform_interface]
- shared_preferences_web 2.2.2 [flutter flutter_web_plugins shared_preferences_platform_interface web]
- shared_preferences_windows 2.3.2 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- sky_engine 0.0.99
- source_span 1.10.0 [collection path term_glyph]
- sprintf 7.0.0
- sqflite 2.3.0 [flutter sqflite_common path]
- sqflite_common 2.5.0+2 [synchronized path meta]
- stack_trace 1.11.1 [path]
- stream_channel 2.1.2 [async]
- string_scanner 1.2.0 [source_span]
- synchronized 3.1.0
- term_glyph 1.2.1
- test_api 0.6.1 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph]
- typed_data 1.3.2 [collection]
- universal_io 2.2.2 [collection meta typed_data]
- url_launcher_android 6.2.0 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.2.1 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.1.0 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.1.0 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.2.0 [flutter plugin_platform_interface]
- url_launcher_web 2.2.2 [flutter flutter_web_plugins url_launcher_platform_interface web]
- url_launcher_windows 3.1.0 [flutter url_launcher_platform_interface]
- uuid 4.2.1 [crypto sprintf meta]
- web 0.3.0
- win32 5.1.1 [ffi]
- xdg_directories 1.0.3 [meta path]
- xml 6.5.0 [collection meta petitparser]
- yaml 3.1.2 [collection source_span string_scanner]


### Describe the Bug

When I try to use the log with the Facebook provider, after successfully logging in with the Facebook popup I get the error: [firebase-auth/popup-closed-by-user] The popup has been closed by the user before finalizing the operation.

The weird thing is that I can only reproduce it when using the web version on a phone. When I try in the web desktop version it works just fine. 

### Expected Behavior

Return the corrent UserCredential value once returned from the facebook auth page.

### To Reproduce

Future _signInWeb() async { // Create a new provider FacebookAuthProvider facebookProvider = FacebookAuthProvider();

facebookProvider.addScope('email');
facebookProvider.setCustomParameters({'display': 'popup'});

// Once signed in, return the UserCredential
return await FirebaseAuth.instance.signInWithPopup(facebookProvider);

// Or use signInWithRedirect
//await FirebaseAuth.instance.signInWithRedirect(facebookProvider);
//return await FirebaseAuth.instance.getRedirectResult();

}


### Relevant log output

_No response_

### flutter doctor -v

```shell
[√] Flutter (Channel stable, 3.16.5, on Microsoft Windows [versÆo 10.0.22621.3007], locale pt-BR)
    • Flutter version 3.16.5 on channel stable at C:\Users\rafae\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 78666c8dc5 (6 weeks ago), 2023-12-19 16:14:14 -0800
    • Engine revision 3f3e560236
    • Dart version 3.2.3
    • DevTools version 2.28.4

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\rafae\AppData\Local\Android\sdk
    • Platform android-33, build-tools 31.0.0
    • Java binary at: C:\Program Files\Android\Android Studio1\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop Windows apps (Ferramentas de Build do Visual Studio 2022 17.8.4)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools
    • Ferramentas de Build do Visual Studio 2022 version 17.8.34408.163
    • Windows 10 SDK version 10.0.22621.0

[√] Android Studio (version 2022.3)
    • Android Studio at C:\Program Files\Android\Android Studio1
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)

[√] VS Code (version 1.85.2)
    • VS Code at C:\Users\rafae\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [versÆo 10.0.22621.3007]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 121.0.6167.139
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 121.0.2277.83

[√] Network resources
    • All expected network resources are available.

• No issues found!


### Info.plist (iOS)

_No response_

### Podfile (iOS)

_No response_

### AndroidManifest.xml

_No response_

### MainActivity.java

_No response_

### MainActivity.kt

_No response_

### index.html

_No response_

### Info.plist (macOS)

_No response_
darwin-morocho commented 3 months ago

@rafaelCabralDS I think your issue must be. opened in the firebase repo due to your code does not use this plugin>

Keep in mind that FacebookAuthProvider class belongs to firebase_auth