android - Firebase 身份验证 - 没有来自谷歌登录提供商的电子邮件

标签 android firebase-authentication google-signin

使用 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/

相关文章:

ios - 当前用户重新登录后 Firebase 无法正常工作

javascript - 尝试在 React Native 中使用 GoogleSignIn,然后可能出现未处理的 Promise Rejection(id : Error: DEVELOPER_ERROR

android - com.google.android.gms.common.api.ApiException : 16:

java - 将 Parcelable 对象从 fragment 传递到另一个 fragment

Android Gallery View 和适配器 getView 被多次调用

android - 发出带有权限拒绝的传出短信

android - 如何禁用 Kotlin Android 扩展插件生成合成 View 属性

javascript - Firebase Auth 内置身份

javascript - 如何在 firebase 版本 9 中使用 getIdToken() auth 方法?