我已经成功地使用firebase_auth 0.11.0为Flutter实现了谷歌和脸书的登录。我需要为具有相同电子邮件地址的帐户实施链接帐户功能。
Future<FirebaseUser> _signInWithGoogle() async {
final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
final GoogleSignInAuthentication googleAuth = await googleUser.authentication;
final AuthCredential credential = GoogleAuthProvider.getCredential(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken,
);
final FirebaseUser user = await _auth.signInWithCredential(credential);
如何/在哪里捕获Firebase错误(auth/account-exists-with-different-credential),即该帐户是重复的电子邮件,因此需要linkwithcredential
函数?我尝试在上面的signInWithCredential
和_signInWithGoogle()
上捕获错误,但都无济于事。
基于这里的示例:
FirebaseUser user = await auth.currentUser(); user = await user.linkWithCredential(credential);
这是您链接帐户的方式,但我的问题是,您如何确定需要运行此函数?
编辑:为了清楚起见,当只有一个凭据/会话存在时,我是否可以链接帐户?例如,流程应该是,登录Facebook,捕获(ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL),,然后链接到谷歌。
https://stackoverflow.com/questions/56260249
复制相似问题