Require Google server client ID for sign-in

This commit is contained in:
zsolt 2026-08-13 01:16:55 +02:00
parent ab6ce48a83
commit 7f365d6ce5
2 changed files with 19 additions and 2 deletions

View File

@ -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}'),

View File

@ -49,7 +49,7 @@ class _AccountsPageState extends State<AccountsPage> {
});
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<AccountsPage> {
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<AccountsPage> {
}
}
Future<void> _ensureGoogleInitialized() async {
if (googleCalendarServerClientId.isEmpty) {
throw Exception(
'Hi\u00e1nyzik a Google server client ID. Add meg buildel\u00e9skor: '
'--dart-define=GOOGLE_SERVER_CLIENT_ID=<Web application OAuth client ID>',
);
}
await googleSignIn.initialize(
serverClientId: googleCalendarServerClientId,
);
}
Future<void> _loadGoogleCalendars({bool promptIfNecessary = true}) async {
setState(() {
loadingCalendars = true;