handleAuthProviders function
Enable Email/Password and Google auth providers (T5).
Implementation
Future<void> handleAuthProviders() async {
final SetupConfig? config = await requireFirebaseProjectConfig();
if (config == null) return;
final Set<AuthProvider> providers = <AuthProvider>{
if (config.enableEmailAuth) AuthProvider.emailPassword,
if (config.enableGoogleAuth) AuthProvider.google,
};
if (providers.isEmpty) {
info('No auth providers enabled in config; nothing to do.');
print('');
UserPrompt.printList(<String>[
'Edit ${p.join(config.outputDir, 'config', 'setup_config.env')} and set:',
' ENABLE_EMAIL_AUTH=yes',
' ENABLE_GOOGLE_AUTH=yes',
'Then re-run: oracular deploy auth-providers',
]);
return;
}
final FirebaseInitializer initializer = FirebaseInitializer(
config.firebaseProjectId!,
);
final AuthProvidersResult result = await initializer.enableAuthProviders(
providers: providers,
);
if (result.success) {
success(
'Auth providers configured: ${result.handedOff.map((AuthProvider p) => p.label).join(', ')}',
);
} else {
warn(result.message);
}
}