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)
任何帮助都会很棒。谢谢你的时间!
归档时间: |
|
查看次数: |
1200 次 |
最近记录: |