【发布时间】:2021-07-01 15:11:59
【问题描述】:
我正在使用 Flutter 创建一个移动应用程序。我正在使用 Firebase 进行身份验证。我的用户使用 Facebook 登录。用户在删除帐户时应重新验证自己的身份。该文档讨论了使用电子邮件和密码进行重新身份验证,如下所示:
// Create a credential
EmailAuthCredential credential = EmailAuthProvider.credential(email: email, password: password);
// Reauthenticate
await FirebaseAuth.instance.currentUser.reauthenticateWithCredential(credential);
由于用户没有电子邮件和密码,而是使用 Facebook 登录,因此我应该使用 Facebook 重新验证用户身份。我为此搜索了文档,但没有运气。
谁能好心告诉我怎么做。
我尝试用 Facebook 登录用户(即使他已经登录)但没有成功。她是我试过的:
FacebookLoginResult result = await FacebookLogin().logIn(permissions: [
FacebookPermission.publicProfile,
FacebookPermission.email,
]);
switch (result.status) {
case FacebookLoginStatus.success:
FacebookAccessToken? accessToken = result.accessToken;
if (accessToken == null) {
return null;
}
UserCredential userCredential = await _auth.signInWithCredential(
FacebookAuthProvider.credential(accessToken.token),
);
return userCredential;
case FacebookLoginStatus.cancel:
throw FirebaseAuthException(
code: 'ERROR_FACEBOOK_LOGIN_FAILED',
message: result.error?.developerMessage,
);
default:
throw UnimplementedError();
}
await FirebaseAuth.instance.currentUser?.reauthenticateWithCredential(
userCredential!.credential!,
);
【问题讨论】:
标签: firebase flutter firebase-authentication