gpt4 book ai didi

firebase - 使用 Facebook 重新验证用户

转载 作者:行者123 更新时间:2023-12-05 08:04:54 26 4
gpt4 key购买 nike

我正在使用 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!,
);

最佳答案

获取 Google 的身份验证凭证

final GoogleSignIn _googleSignIn = GoogleSignIn(
scopes: <String>[
'email',
'https://www.googleapis.com/auth/contacts.readonly',
]);

final GoogleSignInAccount googleSignInAccount =
await _googleSignIn.signIn();
final GoogleSignInAuthentication googleSignInAuthentication =
await googleSignInAccount.authentication;

final AuthCredential credential = GoogleAuthProvider.credential(
accessToken: googleSignInAuthentication.accessToken,
idToken: googleSignInAuthentication.idToken,
);

获取Apple的认证凭证

final appleIdCredential = await SignInWithApple.getAppleIDCredential(
scopes: [
AppleIDAuthorizationScopes.email,
AppleIDAuthorizationScopes.fullName,
],
);
final AuthCredential appleCredential =
OAuthProvider('apple.com').credential(
accessToken: appleIdCredential.authorizationCode,
idToken: appleIdCredential.identityToken,
);

关于firebase - 使用 Facebook 重新验证用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66958414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com