From 37d638816a0716c836a2705a7945b2b6e090c248 Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 4 Mar 2026 19:00:00 +0100 Subject: [PATCH] Auto-sync: 20260304_190000 --- lib/main.dart | 11 +- macos/Flutter/GeneratedPluginRegistrant.swift | 2 + macos/Podfile.lock | 124 +++++++++++------- pubspec.lock | 36 ++++- pubspec.yaml | 1 + 5 files changed, 121 insertions(+), 53 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 4f14f7a..ba3f0b5 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,12 +1,14 @@ import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; // <-- AGGIUNTO PER kDebugMode import 'package:provider/provider.dart'; import 'core/theme_manager.dart'; import 'logic/game_controller.dart'; import 'ui/home/home_screen.dart'; import 'services/storage_service.dart'; import 'package:firebase_core/firebase_core.dart'; -import 'package:firebase_auth/firebase_auth.dart'; // <-- NUOVO IMPORT +import 'package:firebase_auth/firebase_auth.dart'; import 'firebase_options.dart'; +import 'package:firebase_app_check/firebase_app_check.dart'; // <-- IMPORT APP CHECK void main() async { // Assicuriamoci che i motori di Flutter siano pronti @@ -17,6 +19,13 @@ void main() async { options: DefaultFirebaseOptions.currentPlatform, ); + // --- NUOVO: SCUDO APP CHECK --- + await FirebaseAppCheck.instance.activate( + // Se stai programmando (Debug), usa una chiave finta. Se l'app è sugli Store, usa i veri sistemi di sicurezza Apple/Google. + androidProvider: kDebugMode ? AndroidProvider.debug : AndroidProvider.playIntegrity, + appleProvider: kDebugMode ? AppleProvider.debug : AppleProvider.deviceCheck, + ); + // 2. Login Silenzioso (Crea la nostra "Identità Sicura" per Firebase) try { await FirebaseAuth.instance.signInAnonymously(); diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index be5524b..496218f 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -8,6 +8,7 @@ import Foundation import app_links import audioplayers_darwin import cloud_firestore +import firebase_app_check import firebase_auth import firebase_core import share_plus @@ -17,6 +18,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin")) AudioplayersDarwinPlugin.register(with: registry.registrar(forPlugin: "AudioplayersDarwinPlugin")) FLTFirebaseFirestorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseFirestorePlugin")) + FLTFirebaseAppCheckPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAppCheckPlugin")) FLTFirebaseAuthPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAuthPlugin")) FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 7bbc13d..f3c812c 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -1190,6 +1190,10 @@ PODS: - abseil/xcprivacy (1.20240722.0) - app_links (6.4.1): - FlutterMacOS + - AppCheckCore (11.2.0): + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - PromisesObjC (~> 2.4) - audioplayers_darwin (0.0.1): - FlutterMacOS - BoringSSL-GRPC (0.0.37): @@ -1199,51 +1203,65 @@ PODS: - BoringSSL-GRPC/Interface (= 0.0.37) - BoringSSL-GRPC/Interface (0.0.37) - cloud_firestore (6.1.2): - - Firebase/CoreOnly (~> 12.8.0) - - Firebase/Firestore (~> 12.8.0) + - Firebase/CoreOnly (~> 12.9.0) + - Firebase/Firestore (~> 12.9.0) - firebase_core - FlutterMacOS - - Firebase/Auth (12.8.0): + - Firebase/AppCheck (12.9.0): - Firebase/CoreOnly - - FirebaseAuth (~> 12.8.0) - - Firebase/CoreOnly (12.8.0): - - FirebaseCore (~> 12.8.0) - - Firebase/Firestore (12.8.0): + - FirebaseAppCheck (~> 12.9.0) + - Firebase/Auth (12.9.0): - Firebase/CoreOnly - - FirebaseFirestore (~> 12.8.0) + - FirebaseAuth (~> 12.9.0) + - Firebase/CoreOnly (12.9.0): + - FirebaseCore (~> 12.9.0) + - Firebase/Firestore (12.9.0): + - Firebase/CoreOnly + - FirebaseFirestore (~> 12.9.0) + - firebase_app_check (0.4.1-5): + - Firebase/AppCheck (~> 12.9.0) + - Firebase/CoreOnly (~> 12.9.0) + - firebase_core + - FlutterMacOS - firebase_auth (6.1.4): - - Firebase/Auth (~> 12.8.0) - - Firebase/CoreOnly (~> 12.8.0) + - Firebase/Auth (~> 12.9.0) + - Firebase/CoreOnly (~> 12.9.0) - firebase_core - FlutterMacOS - - firebase_core (4.4.0): - - Firebase/CoreOnly (~> 12.8.0) + - firebase_core (4.5.0): + - Firebase/CoreOnly (~> 12.9.0) - FlutterMacOS - - FirebaseAppCheckInterop (12.8.0) - - FirebaseAuth (12.8.0): - - FirebaseAppCheckInterop (~> 12.8.0) - - FirebaseAuthInterop (~> 12.8.0) - - FirebaseCore (~> 12.8.0) - - FirebaseCoreExtension (~> 12.8.0) + - FirebaseAppCheck (12.9.0): + - AppCheckCore (~> 11.0) + - FirebaseAppCheckInterop (~> 12.9.0) + - FirebaseCore (~> 12.9.0) + - GoogleUtilities/Environment (~> 8.1) + - GoogleUtilities/UserDefaults (~> 8.1) + - FirebaseAppCheckInterop (12.9.0) + - FirebaseAuth (12.9.0): + - FirebaseAppCheckInterop (~> 12.9.0) + - FirebaseAuthInterop (~> 12.9.0) + - FirebaseCore (~> 12.9.0) + - FirebaseCoreExtension (~> 12.9.0) - GoogleUtilities/AppDelegateSwizzler (~> 8.1) - GoogleUtilities/Environment (~> 8.1) - GTMSessionFetcher/Core (< 6.0, >= 3.4) - RecaptchaInterop (~> 101.0) - - FirebaseAuthInterop (12.8.0) - - FirebaseCore (12.8.0): - - FirebaseCoreInternal (~> 12.8.0) + - FirebaseAuthInterop (12.9.0) + - FirebaseCore (12.9.0): + - FirebaseCoreInternal (~> 12.9.0) - GoogleUtilities/Environment (~> 8.1) - GoogleUtilities/Logger (~> 8.1) - - FirebaseCoreExtension (12.8.0): - - FirebaseCore (~> 12.8.0) - - FirebaseCoreInternal (12.8.0): + - FirebaseCoreExtension (12.9.0): + - FirebaseCore (~> 12.9.0) + - FirebaseCoreInternal (12.9.0): - "GoogleUtilities/NSData+zlib (~> 8.1)" - - FirebaseFirestore (12.8.0): - - FirebaseCore (~> 12.8.0) - - FirebaseCoreExtension (~> 12.8.0) - - FirebaseFirestoreInternal (~> 12.8.0) - - FirebaseSharedSwift (~> 12.8.0) - - FirebaseFirestoreInternal (12.8.0): + - FirebaseFirestore (12.9.0): + - FirebaseCore (~> 12.9.0) + - FirebaseCoreExtension (~> 12.9.0) + - FirebaseFirestoreInternal (~> 12.9.0) + - FirebaseSharedSwift (~> 12.9.0) + - FirebaseFirestoreInternal (12.9.0): - abseil/algorithm (~> 1.20240722.0) - abseil/base (~> 1.20240722.0) - abseil/container/flat_hash_map (~> 1.20240722.0) @@ -1252,13 +1270,13 @@ PODS: - abseil/strings/strings (~> 1.20240722.0) - abseil/time (~> 1.20240722.0) - abseil/types (~> 1.20240722.0) - - FirebaseAppCheckInterop (~> 12.8.0) - - FirebaseCore (~> 12.8.0) + - FirebaseAppCheckInterop (~> 12.9.0) + - FirebaseCore (~> 12.9.0) - "gRPC-C++ (~> 1.69.0)" - gRPC-Core (~> 1.69.0) - leveldb-library (~> 1.22) - nanopb (~> 3.30910.0) - - FirebaseSharedSwift (12.8.0) + - FirebaseSharedSwift (12.9.0) - FlutterMacOS (1.0.0) - GoogleUtilities/AppDelegateSwizzler (8.1.0): - GoogleUtilities/Environment @@ -1281,6 +1299,9 @@ PODS: - GoogleUtilities/Reachability (8.1.0): - GoogleUtilities/Logger - GoogleUtilities/Privacy + - GoogleUtilities/UserDefaults (8.1.0): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy - "gRPC-C++ (1.69.0)": - "gRPC-C++/Implementation (= 1.69.0)" - "gRPC-C++/Interface (= 1.69.0)" @@ -1380,6 +1401,7 @@ PODS: - nanopb/encode (= 3.30910.0) - nanopb/decode (3.30910.0) - nanopb/encode (3.30910.0) + - PromisesObjC (2.4.0) - share_plus (0.0.1): - FlutterMacOS - shared_preferences_foundation (0.0.1): @@ -1390,6 +1412,7 @@ DEPENDENCIES: - app_links (from `Flutter/ephemeral/.symlinks/plugins/app_links/macos`) - audioplayers_darwin (from `Flutter/ephemeral/.symlinks/plugins/audioplayers_darwin/macos`) - cloud_firestore (from `Flutter/ephemeral/.symlinks/plugins/cloud_firestore/macos`) + - firebase_app_check (from `Flutter/ephemeral/.symlinks/plugins/firebase_app_check/macos`) - firebase_auth (from `Flutter/ephemeral/.symlinks/plugins/firebase_auth/macos`) - firebase_core (from `Flutter/ephemeral/.symlinks/plugins/firebase_core/macos`) - FlutterMacOS (from `Flutter/ephemeral`) @@ -1399,8 +1422,10 @@ DEPENDENCIES: SPEC REPOS: trunk: - abseil + - AppCheckCore - BoringSSL-GRPC - Firebase + - FirebaseAppCheck - FirebaseAppCheckInterop - FirebaseAuth - FirebaseAuthInterop @@ -1416,6 +1441,7 @@ SPEC REPOS: - GTMSessionFetcher - leveldb-library - nanopb + - PromisesObjC EXTERNAL SOURCES: app_links: @@ -1424,6 +1450,8 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/audioplayers_darwin/macos cloud_firestore: :path: Flutter/ephemeral/.symlinks/plugins/cloud_firestore/macos + firebase_app_check: + :path: Flutter/ephemeral/.symlinks/plugins/firebase_app_check/macos firebase_auth: :path: Flutter/ephemeral/.symlinks/plugins/firebase_auth/macos firebase_core: @@ -1438,21 +1466,24 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: abseil: a05cc83bf02079535e17169a73c5be5ba47f714b app_links: 05a6ec2341985eb05e9f97dc63f5837c39895c3f + AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f audioplayers_darwin: 761f2948df701d05b5db603220c384fb55720012 BoringSSL-GRPC: dded2a44897e45f28f08ae87a55ee4bcd19bc508 - cloud_firestore: 71947b640bd24f6f849d9d185e5d0a619fa6b93b - Firebase: 9a58fdbc9d8655ed7b79a19cf9690bb007d3d46d - firebase_auth: 2c2438e41f061c03bd67dcb045dfd7bc843b5f52 - firebase_core: b1697fb64ff2b9ca16baaa821205f8b0c058e5d2 - FirebaseAppCheckInterop: ba3dc604a89815379e61ec2365101608d365cf7d - FirebaseAuth: 4c289b1a43f5955283244a55cf6bd616de344be5 - FirebaseAuthInterop: 95363fe96493cb4f106656666a0768b420cba090 - FirebaseCore: 0dbad74bda10b8fb9ca34ad8f375fb9dd3ebef7c - FirebaseCoreExtension: 6605938d51f765d8b18bfcafd2085276a252bee2 - FirebaseCoreInternal: fe5fa466aeb314787093a7dce9f0beeaad5a2a21 - FirebaseFirestore: 67f23000ca238ccbab79127ed59636a9a2689e74 - FirebaseFirestoreInternal: a0e7382af3d208898dcd1d4d52d8a7870632e881 - FirebaseSharedSwift: f57ed48f4542b2d7eb4738f4f23ba443f78b3780 + cloud_firestore: a2a9382e6cc4dd07345748b904b3b194ea46be44 + Firebase: 065f2bb395062046623036d8e6dc857bc2521d56 + firebase_app_check: 1ea404b52b0910bf632b1ea2e00ceb8d1730cb44 + firebase_auth: 8db6796451d9aa44d4cc49b3e757865c65ce170f + firebase_core: c74b220e9288decea6bed17399c249734a7e76d2 + FirebaseAppCheck: 94dae4d9bb682bdef85a778b0c1024a4613f1e89 + FirebaseAppCheckInterop: 4bade10286cc977e516f75d2d8312cbdfa534789 + FirebaseAuth: 3a39f6436c21ebfd7919b698228b4f89ff94c23b + FirebaseAuthInterop: f8f6ff72dc24621906497fbe5cf3c42ee815e59c + FirebaseCore: 428912f751178b06bef0a1793effeb4a5e09a9b8 + FirebaseCoreExtension: e911052d59cd0da237a45d706fc0f81654f035c1 + FirebaseCoreInternal: b321eafae5362113bc182956fafc9922cfc77b72 + FirebaseFirestore: d8b76ca1feb4ca0b0f078c45f7d1bd8014a49ef1 + FirebaseFirestoreInternal: 02341a9ba87f6309227b04685022a5e16307bbf7 + FirebaseSharedSwift: 9d2fa84a46676302b89dbd5e6e62bce2fe376909 FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1 GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 "gRPC-C++": cc207623316fb041a7a3e774c252cf68a058b9e8 @@ -1460,6 +1491,7 @@ SPEC CHECKSUMS: GTMSessionFetcher: b8ab00db932816e14b0a0664a08cb73dda6d164b leveldb-library: cc8b8f8e013647a295ad3f8cd2ddf49a6f19be19 nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 + PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb diff --git a/pubspec.lock b/pubspec.lock index 5a4b50d..2c27c80 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: cd83f7d6bd4e4c0b0b4fef802e8796784032e1cc23d7b0e982cf5d05d9bbe182 + sha256: afe15ce18a287d2f89da95566e62892df339b1936bbe9b83587df45b944ee72a url: "https://pub.dev" source: hosted - version: "1.3.66" + version: "1.3.67" app_links: dependency: "direct main" description: @@ -249,6 +249,30 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.1" + firebase_app_check: + dependency: "direct main" + description: + name: firebase_app_check + sha256: cc0bfeb003c5747e963f4f378e72c8c5c5f91a243f2e85b7da29ff42f4709996 + url: "https://pub.dev" + source: hosted + version: "0.4.1+5" + firebase_app_check_platform_interface: + dependency: transitive + description: + name: firebase_app_check_platform_interface + sha256: "54166319f9121bd94b2374864e84dd54507438095fc2d42ca49f23957b16b0d1" + url: "https://pub.dev" + source: hosted + version: "0.2.1+5" + firebase_app_check_web: + dependency: transitive + description: + name: firebase_app_check_web + sha256: f8dddba09bd7786e017b58e74455886106ac7ca9e798769e2cac3e988fc2d146 + url: "https://pub.dev" + source: hosted + version: "0.2.2+3" firebase_auth: dependency: "direct main" description: @@ -277,10 +301,10 @@ packages: dependency: "direct main" description: name: firebase_core - sha256: "923085c881663ef685269b013e241b428e1fb03cdd0ebde265d9b40ff18abf80" + sha256: f0997fee80fbb6d2c658c5b88ae87ba1f9506b5b37126db64fc2e75d8e977fbb url: "https://pub.dev" source: hosted - version: "4.4.0" + version: "4.5.0" firebase_core_platform_interface: dependency: transitive description: @@ -293,10 +317,10 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: "83e7356c704131ca4d8d8dd57e360d8acecbca38b1a3705c7ae46cc34c708084" + sha256: "856ca92bf2d75a63761286ab8e791bda3a85184c2b641764433b619647acfca6" url: "https://pub.dev" source: hosted - version: "3.4.0" + version: "3.5.0" fixnum: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 7f00324..7e1640b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -24,6 +24,7 @@ dependencies: app_links: ^7.0.0 google_fonts: ^8.0.2 font_awesome_flutter: ^10.12.0 + firebase_app_check: ^0.4.1+5 dev_dependencies: flutter_test: