configureProviders static method

void configureProviders(
  1. List<ProviderConfiguration> configs, {
  2. FirebaseApp? app,
})

Implementation

static void configureProviders(
  List<ProviderConfiguration> configs, {
  FirebaseApp? app,
}) {
  if (Firebase.apps.isEmpty) {
    throw Exception(
      'You must call Firebase.initializeApp() '
      'before calling configureProviders()',
    );
  }

  final _app = app ?? Firebase.app();

  if (_configuredApps[_app] ?? false) {
    throw Exception(
      'You can only configure providers once '
      'for each Firebase App',
    );
  }

  _configs[_app] = configs;

  configs.whereType<OAuthProviderConfiguration>().forEach((element) {
    final provider = element.createProvider();
    final auth = FirebaseAuth.instanceFor(app: _app);
    OAuthProviders.register(auth, provider);
  });
}