From 7f365d6ce53ad97905e9bcff2b22166153b5a264 Mon Sep 17 00:00:00 2001 From: zsolt Date: Thu, 13 Aug 2026 01:16:55 +0200 Subject: [PATCH] Require Google server client ID for sign-in --- lib/data.dart | 4 ++++ lib/google_calendar_page.dart | 17 +++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/lib/data.dart b/lib/data.dart index 696455d..033043f 100644 --- a/lib/data.dart +++ b/lib/data.dart @@ -9,6 +9,10 @@ const everyonePersonId = '_everyone'; const defaultJarvisApiUrl = 'https://api-test.a-web.hu'; const legacyJarvisApiUrl = 'http://80.211.202.74'; const appVersionLabel = 'v1.0.0+1'; +const googleCalendarServerClientId = String.fromEnvironment( + 'GOOGLE_SERVER_CLIENT_ID', + defaultValue: '', +); const avatarPresets = [ AvatarPreset('boy', 'Fi\u00fa', '\u{1f9d2}'), diff --git a/lib/google_calendar_page.dart b/lib/google_calendar_page.dart index 90a1edf..c3222cc 100644 --- a/lib/google_calendar_page.dart +++ b/lib/google_calendar_page.dart @@ -49,7 +49,7 @@ class _AccountsPageState extends State { }); try { - await googleSignIn.initialize(); + await _ensureGoogleInitialized(); initialized = true; final lightweight = googleSignIn.attemptLightweightAuthentication(); final account = lightweight == null ? null : await lightweight; @@ -100,7 +100,7 @@ class _AccountsPageState extends State { try { if (!initialized) { - await googleSignIn.initialize(); + await _ensureGoogleInitialized(); initialized = true; } final account = await googleSignIn.authenticate(scopeHint: calendarScopes); @@ -115,6 +115,19 @@ class _AccountsPageState extends State { } } + Future _ensureGoogleInitialized() async { + if (googleCalendarServerClientId.isEmpty) { + throw Exception( + 'Hi\u00e1nyzik a Google server client ID. Add meg buildel\u00e9skor: ' + '--dart-define=GOOGLE_SERVER_CLIENT_ID=', + ); + } + + await googleSignIn.initialize( + serverClientId: googleCalendarServerClientId, + ); + } + Future _loadGoogleCalendars({bool promptIfNecessary = true}) async { setState(() { loadingCalendars = true;