firebase / flutterfire

🔥 A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.61k stars 3.95k forks source link

[firebase_app_check]: Unsupported operation: Platform._operatingSystem #13142

Closed devroldy closed 2 weeks ago

devroldy commented 1 month ago

Is there an existing issue for this?

Which plugins are affected?

App Check

Which platforms are affected?

Web

Description

I added firebase app checker to my main function under await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);

_setupFirebaseAppCheck() async {
  try {
    await FirebaseAppCheck.instance
        // Your personal reCaptcha public key goes here:
        .activate(
      webProvider: ReCaptchaEnterpriseProvider(
          "my-ReCaptcha-site-key-from-google"),
    );
  } catch (e) {
    print("Error setting up Firebase App Check: $e");
  }
}

When I deploy my app and I inspect the browser console. I'm seeing that App Check is throwing this exception Error setting up Firebase App Check: Unsupported operation: Platform._operatingSystem

I have also registered App Check in the firebase console for web.

What I'm I missing here? Thanks in advance

Reproducing the issue

Setup a flutter web application and add the code above to the main function.

Firebase Core version

3.3.0

Flutter Version

3.22.3

Relevant Log Output

Error setting up Firebase App Check: Unsupported operation: Platform._operatingSystem

Flutter dependencies

Expand Flutter dependencies snippet
```yaml Dart SDK 3.4.4 Flutter SDK 3.22.3 classroom_web 1.0.0+1 dependencies: - classroom_core 0.0.1 [flutter image_compression_flutter firebase_core firebase_analytics firebase_auth firebase_database firebase_storage firebase_messaging firebase_crashlytics firebase_app_check flutter_image_compress intl path_provider dio timezone device_info_plus localstore] - classroom_core_ui 0.0.1 [flutter classroom_core] - cupertino_icons 1.0.8 - flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine] - image_compression_flutter 1.0.3 [flutter flutter_web_plugins cross_file flutter_image_compress image_compression] dev dependencies: - cached_network_image 3.3.1 [cached_network_image_platform_interface cached_network_image_web flutter flutter_cache_manager octo_image] - circular_profile_avatar 2.0.5 [flutter cached_network_image] - data_table_2 2.5.12 [flutter async] - datetime_picker_formfield 2.0.1 [flutter intl] - dio 5.5.0+1 [async http_parser meta path dio_web_adapter] - dropdown_button2 2.3.9 [flutter meta] - dropdown_search 5.0.6 [flutter] - file_picker 8.0.3 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface ffi path win32 cross_file web] - file_saver 0.2.12 [flutter flutter_web_plugins path_provider path_provider_windows path_provider_linux dio] - firebase_analytics 11.2.1 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter] - firebase_app_check 0.3.0+4 [firebase_app_check_platform_interface firebase_app_check_web firebase_core firebase_core_platform_interface flutter] - firebase_auth 5.1.3 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta] - firebase_core 3.3.0 [firebase_core_platform_interface firebase_core_web flutter meta] - firebase_crashlytics 4.0.4 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace] - firebase_database 11.0.4 [firebase_core firebase_core_platform_interface firebase_database_platform_interface firebase_database_web flutter] - firebase_messaging 15.0.4 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta] - firebase_messaging_web 3.8.12 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins meta web] - firebase_storage 12.1.2 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter] - fl_chart 0.67.0 [equatable flutter] - flutter_lints 3.0.2 [lints] - flutter_quill 10.1.2 [flutter flutter_localizations intl dart_quill_delta collection quiver equatable meta html flutter_colorpicker flutter_quill_delta_from_html markdown charcode url_launcher flutter_keyboard_visibility device_info_plus] - flutter_sfsymbols 2.0.0 [flutter] - flutter_spinkit 5.2.1 [flutter] - flutter_svg 2.0.10+1 [flutter http vector_graphics vector_graphics_codec vector_graphics_compiler] - flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math leak_tracker_flutter_testing async boolean_selector characters collection leak_tracker leak_tracker_testing material_color_utilities meta source_span stream_channel string_scanner term_glyph vm_service] - google_fonts 6.2.1 [flutter http path_provider crypto] - http 1.2.1 [async http_parser meta web] - interactiveviewer_gallery 0.6.0 [flutter] - intl 0.19.0 [clock meta path] - intl_phone_field 3.2.0 [flutter] - localstore 1.4.0 [flutter path path_provider] - material_floating_search_bar_2 0.5.0 [flutter meta] - ndialog 4.3.1 [flutter universal_io] - path_provider 2.1.3 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows] - pdf 3.10.8 [archive barcode bidi crypto image meta path_parsing vector_math xml] - pin_code_fields 8.0.1 [flutter] - provider 6.1.2 [collection flutter nested] - responsive_grid_list 1.4.0 [flutter quiver] - settings_ui 2.0.2 [flutter] - shared_preferences 2.2.3 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows] - syncfusion_flutter_pdfviewer 26.2.5 [flutter vector_math async http uuid device_info_plus intl syncfusion_pdfviewer_platform_interface syncfusion_pdfviewer_web syncfusion_pdfviewer_macos syncfusion_pdfviewer_windows syncfusion_flutter_core syncfusion_flutter_pdf syncfusion_flutter_signaturepad url_launcher] - table_sticky_headers 2.0.5 [flutter] - timeago 3.6.1 [intl] - timezone 0.9.3 [path] - toggle_switch 2.3.0 [flutter] - url_launcher 6.2.6 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows] - uuid 4.4.0 [crypto sprintf meta fixnum] - video_player 2.8.6 [flutter html video_player_android video_player_avfoundation video_player_platform_interface video_player_web] dependency overrides: - wakelock_windows 0.2.2 [flutter wakelock_platform_interface win32] transitive dependencies: - _flutterfire_internals 1.3.40 [collection firebase_core firebase_core_platform_interface flutter meta] - archive 3.5.1 [crypto path] - args 2.5.0 - async 2.11.0 [collection meta] - barcode 2.2.8 [meta qr] - bidi 2.0.10 - 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.2.0 [cached_network_image_platform_interface flutter flutter_cache_manager] - characters 1.3.0 - charcode 1.3.1 - clock 1.1.1 - collection 1.18.0 - convert 3.1.1 [typed_data] - cross_file 0.3.4+1 [meta web] - crypto 3.0.3 [typed_data] - csslib 1.0.0 [source_span] - dart_quill_delta 10.1.2 [collection diff_match_patch quiver] - device_info_plus 10.1.1 [device_info_plus_platform_interface ffi file flutter flutter_web_plugins meta web win32 win32_registry] - device_info_plus_platform_interface 7.0.1 [flutter meta plugin_platform_interface] - diff_match_patch 0.4.1 - dio_web_adapter 1.0.1 [dio http_parser meta] - equatable 2.0.5 [collection meta] - fake_async 1.3.1 [clock collection] - ffi 2.1.2 - file 7.0.0 [meta path] - firebase_analytics_platform_interface 4.2.1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_analytics_web 0.5.9+1 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins] - firebase_app_check_platform_interface 0.1.0+34 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_app_check_web 0.1.2+12 [_flutterfire_internals firebase_app_check_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins web] - firebase_auth_platform_interface 7.4.3 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_auth_web 5.12.5 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser meta web] - firebase_core_platform_interface 5.2.0 [collection flutter flutter_test meta plugin_platform_interface] - firebase_core_web 2.17.4 [firebase_core_platform_interface flutter flutter_web_plugins meta web] - firebase_crashlytics_platform_interface 3.6.40 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_database_platform_interface 0.2.5+40 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_database_web 0.2.5+12 [collection firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugins] - firebase_messaging_platform_interface 4.5.42 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_storage_platform_interface 5.1.27 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_storage_web 3.9.12 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http meta web] - fixnum 1.1.0 - flutter_cache_manager 3.3.2 [clock collection file flutter http path path_provider rxdart sqflite uuid] - flutter_colorpicker 1.1.0 [flutter] - flutter_image_compress 1.1.3 [flutter] - flutter_keyboard_visibility 6.0.0 [meta flutter_keyboard_visibility_platform_interface flutter_keyboard_visibility_linux flutter_keyboard_visibility_macos flutter_keyboard_visibility_web flutter_keyboard_visibility_windows flutter] - flutter_keyboard_visibility_linux 1.0.0 [flutter_keyboard_visibility_platform_interface flutter] - flutter_keyboard_visibility_macos 1.0.0 [flutter_keyboard_visibility_platform_interface flutter] - flutter_keyboard_visibility_platform_interface 2.0.0 [flutter meta plugin_platform_interface] - flutter_keyboard_visibility_web 2.0.0 [flutter_keyboard_visibility_platform_interface flutter_web_plugins flutter] - flutter_keyboard_visibility_windows 1.0.0 [flutter_keyboard_visibility_platform_interface flutter] - flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math] - flutter_plugin_android_lifecycle 2.0.19 [flutter] - flutter_quill_delta_from_html 1.3.13 [dart_quill_delta html] - flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math] - html 0.15.4 [csslib source_span] - http_parser 4.0.2 [collection source_span string_scanner typed_data] - image 4.1.7 [archive meta xml] - image_compression 1.0.5 [image mime path] - js 0.7.1 - leak_tracker 10.0.4 [clock collection meta path vm_service] - leak_tracker_flutter_testing 3.0.3 [flutter leak_tracker leak_tracker_testing matcher meta] - leak_tracker_testing 3.0.1 [leak_tracker matcher meta] - lints 3.0.0 - markdown 7.2.2 [args meta] - matcher 0.12.16+1 [async meta stack_trace term_glyph test_api] - material_color_utilities 0.8.0 [collection] - meta 1.12.0 - mime 1.0.5 - nested 1.0.0 [flutter] - octo_image 2.0.0 [flutter] - path 1.9.0 - path_parsing 1.0.1 [vector_math meta] - path_provider_android 2.2.4 [flutter path_provider_platform_interface] - path_provider_foundation 2.3.2 [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.2 [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.4 - plugin_platform_interface 2.1.8 [meta] - qr 3.0.1 [meta] - quiver 3.2.1 [matcher] - rxdart 0.27.7 - shared_preferences_android 2.2.2 [flutter shared_preferences_platform_interface] - shared_preferences_foundation 2.3.5 [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.2 [flutter plugin_platform_interface] - shared_preferences_web 2.3.0 [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.3+1 [flutter sqflite_common path] - sqflite_common 2.5.4 [synchronized path meta] - stack_trace 1.11.1 [path] - stream_channel 2.1.2 [async] - string_scanner 1.2.0 [source_span] - syncfusion_flutter_core 26.2.5 [vector_math flutter] - syncfusion_flutter_pdf 26.2.5 [flutter intl xml syncfusion_flutter_core crypto convert http] - syncfusion_flutter_signaturepad 26.2.5 [flutter syncfusion_flutter_core] - syncfusion_pdfviewer_macos 26.2.5 [flutter syncfusion_pdfviewer_platform_interface] - syncfusion_pdfviewer_platform_interface 26.2.5 [flutter plugin_platform_interface] - syncfusion_pdfviewer_web 26.2.5 [flutter flutter_web_plugins js meta syncfusion_pdfviewer_platform_interface] - syncfusion_pdfviewer_windows 26.2.5 [flutter] - synchronized 3.1.0+1 - term_glyph 1.2.1 - test_api 0.7.0 [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.3.1 [flutter url_launcher_platform_interface] - url_launcher_ios 6.2.5 [flutter url_launcher_platform_interface] - url_launcher_linux 3.1.1 [flutter url_launcher_platform_interface] - url_launcher_macos 3.1.0 [flutter url_launcher_platform_interface] - url_launcher_platform_interface 2.3.2 [flutter plugin_platform_interface] - url_launcher_web 2.3.1 [flutter flutter_web_plugins url_launcher_platform_interface web] - url_launcher_windows 3.1.1 [flutter url_launcher_platform_interface] - vector_graphics 1.1.11+1 [flutter http vector_graphics_codec] - vector_graphics_codec 1.1.11+1 - vector_graphics_compiler 1.1.11+1 [args meta path_parsing xml vector_graphics_codec path] - vector_math 2.1.4 - video_player_android 2.4.14 [flutter video_player_platform_interface] - video_player_avfoundation 2.5.7 [flutter video_player_platform_interface] - video_player_platform_interface 6.2.2 [flutter plugin_platform_interface] - video_player_web 2.3.0 [flutter flutter_web_plugins video_player_platform_interface web] - vm_service 14.2.1 - wakelock_platform_interface 0.3.0 [flutter meta] - web 0.5.1 - win32 5.5.0 [ffi] - win32_registry 1.1.3 [ffi win32] - xdg_directories 1.0.4 [meta path] - xml 6.5.0 [collection meta petitparser] ```

Additional context and comments

No response

Lyokone commented 1 month ago

Hello @devroldy, I'm not reproducing this issue on my end, can you provide a complete sample?

UsamaSarwar commented 1 month ago

Hello @devroldy, I'm not reproducing this issue on my end, can you provide a complete sample?

Error: Unsupported operation: Platform._operatingSystem I'm getting the same error on Flutter Web when deployed. Please try after deployment because during debugging it works fine.

google-oss-bot commented 3 weeks ago

Hey @devroldy. We need more information to resolve this issue but there hasn't been an update in 7 weekdays. I'm marking the issue as stale and if there are no new updates in the next 7 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot commented 2 weeks ago

Since there haven't been any recent updates here, I am going to close this issue.

@devroldy if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.