Как выйти из Microsoft и Github с помощью Flutter Firebase

Кажется, я не могу заставить выйти из Github или Microsoft, как я это делаю для Google. С помощью пакета google_sign_in.

        Future<GoogleSignInAccount?> _signOutWithGoogle() async {
    return Chain.capture(() async {
      try {
        return await GoogleSignIn().signOut();
      } on Exception catch (error, stackTrace) {
        final terseStacktrace = Chain.forTrace(stackTrace).terse;

        logger.e(
          "GoogleSignOutException",
          error: error,
          stackTrace: terseStacktrace,
        );

        rethrow;
      }
    });
  }

    Future<Result<void, LogOutFailure>> signOut() async {
    try {
      if (_auth.currentUser?.providerData.first.providerId == "google.com") {
        await _signOutWithGoogle();
      }

      await _auth.signOut();

      return const Result.success(null);
    } catch (_) {
      return const Result.error(LogOutFailure());
    }
  }

Без выхода из пакета я автоматически войду в систему с использованием предыдущих учетных данных и не смогу их изменить.

Та же проблема сохраняется при входе в Microsoft и Github.

      import 'package:firebase_auth/firebase_auth.dart';

    Future<UserCredential> signInWithMicrosoft() async {
      final microsoftProvider = MicrosoftAuthProvider();
      if (kIsWeb) {
        await FirebaseAuth.instance.signInWithPopup(microsoftProvider);
      } else {
        await FirebaseAuth.instance.signInWithProvider(microsoftProvider);
      }
    }

Вызов_auth.signOut()этого недостаточно, поскольку он регистрирует только пользователя Firebase, а не пользователя GitHub или Microsoft.

Есть ли пакет или реализация, которую я могу использовать для решения этой проблемы?

0 ответов

Другие вопросы по тегам