如果是 Apple,如何在 Flutter 中从 firebase auth 中删除用户?

Bha*_*oha 5 firebase-authentication flutter apple-sign-in

我正在开发一个需要从 firebase 身份验证中删除用户的应用程序。到目前为止,当提供商是 Google 时,我已经能够实现此功能。但我无法为苹果做同样的事情。

这是删除用户的函数:

deleteAccount() async {
  setState(() {
    _deleteAccountLoader = true;
  });
  FirestoreFunctions _firestoreFunctions = FirestoreFunctions();
  final FirebaseUser currentUser = await _firebaseAuth.currentUser();
  await _firestoreFunctions.deleteUser(
    email: bloc.getUser().email,
  );
  SharedPreferences prefs = await SharedPreferences.getInstance();
  try {
    String accountType = prefs.getString('account_type');
    String accessToken = prefs.getString('accessToken') ?? '';
    String idToken = prefs.getString('idToken') ?? '';
    AuthCredential credential;
    switch (accountType) {
      case 'google':
        credential = GoogleAuthProvider.getCredential(
          accessToken: accessToken,
          idToken: idToken,
        );
        break;
      case 'apple':
        final OAuthProvider oAuthProvider =
            new OAuthProvider(providerId: "apple.com");
        credential = oAuthProvider.getCredential(
          idToken: idToken,
          accessToken: accessToken,
        );
        break;
      case 'facebook':
        credential = FacebookAuthProvider.getCredential(
          accessToken: accessToken,
        );
        break;
    }
    await currentUser.reauthenticateWithCredential(credential);
    await currentUser.delete();
  } catch (error) {
    print('Unable to delete');
    print(error.toString());
  }
  await _logOut();
  prefs.remove("email");
  setState(() {
    _deleteAccountLoader = false;
  });
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试删除苹果帐户时出现此错误

颤抖:无法删除

flutter:PlatformException(ERROR_MISSING_OR_INVALID_NONCE,收到重复的凭据。请使用新凭据重试。,null)

但我需要重新验证用户身份,因为如果没有它,我就会收到此错误。

未处理的异常:PlatformException(ERROR_REQUIRES_RECENT_LOGIN,此操作很敏感,需要最近的身份验证。重试此请求之前请重新登录。,null)

这些是我正在使用的软件包:

firebase_auth: ^0.15.3
apple_sign_in: ^0.1.0
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒。谢谢你的时间!