signIn method

  1. @override
Future<bool> signIn(
  1. FirebaseApp app,
  2. AuthProvider provider, {
  3. bool isPopup = false,
})
override

Implementation

@override
Future<bool> signIn(FirebaseApp app, AuthProvider provider,
    {bool isPopup = false}) async {
  if (provider is! OAuthProvider) {
    return false;
  }

  var url = createAuthHandlerUrl(
    app: app,
    authType: isPopup ? 'signInWithPopup' : 'signInWithRedirect',
    providerId: provider.providerId,
    parameters: provider.parameters,
    scopes: provider.scopes,
  );

  var box = await PersistenceStorage.openBox('firebase_auth');
  await box.put('redirect_session_id', url.queryParameters['sessionId']);
  await box.put('redirect_event_id', url.queryParameters['eventId']);

  var installation = FirebaseImplementation.installation;
  var launchUrl = (installation as BaseFirebaseImplementation).launchUrl;
  launchUrl(url, popup: isPopup);
  return true;
}