【发布时间】:2021-03-20 18:13:47
【问题描述】:
当我使用 gmail 和 facebook 登录我的 android 应用程序时,会在 firebase 上创建两个单独的身份验证凭据。可以合并吗?
【问题讨论】:
标签: java android firebase firebase-authentication
当我使用 gmail 和 facebook 登录我的 android 应用程序时,会在 firebase 上创建两个单独的身份验证凭据。可以合并吗?
【问题讨论】:
标签: java android firebase firebase-authentication
使用任何身份验证提供程序或方法登录用户。 (假设您的用户已经使用 Google 登录)。
获取新身份验证提供程序 (Facebook) 的凭据。
AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
AuthCredential 对象传递给登录用户的“linkWithCredential”方法。mAuth.getCurrentUser().linkWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Log.d(TAG, "linkWithCredential:success");
FirebaseUser user = task.getResult().getUser();
updateUI(user);
} else {
Log.w(TAG, "linkWithCredential:failure", task.getException());
Toast.makeText(AnonymousAuthActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
updateUI(null);
}
}
});
【讨论】: