使用 Google 提供商登录时电子邮件为空
我尝试了 3 个 Gmail 帐户 - 其中 1 个没问题,但有 2 个我得到空值。
所有三个都在控制台中正确列出,帐户的电子邮件为“标识符”
currentUser = FirebaseAuth.getInstance().getCurrentUser();
String Email = currentUser.getEmail();
创建身份验证的代码:
providers = Arrays.asList(
new AuthUI.IdpConfig.GoogleBuilder().build(),
new AuthUI.IdpConfig.FacebookBuilder().build()
);
startActivityForResult(
AuthUI.getInstance().createSignInIntentBuilder()
.setAvailableProviders(providers)
.setIsSmartLockEnabled(false)
.build(),MY_REQUEST_CODE);
最佳答案
我有同样的问题,没有返回谷歌电子邮件地址。
添加范围电子邮件后:
var provider = new this.$firebase.auth.GoogleAuthProvider();
provider.addScope('email');
它正在返回 providerdata 中的电子邮件地址。
我在 Facebook 登录时也遇到了同样的问题。我需要像这样添加范围
var provider = new this.$firebase.auth.FacebookAuthProvider();
provider.addScope("email");
关于android - Firebase 身份验证 - 没有来自谷歌登录提供商的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55875239/