在Android中使用Twitter进行Firebase登录,如何添加电子邮件

塔潘HP

我已经在Gmail,Facebook和Twitter上实现了Firebase Auth,起初我每次使用Twitter时都无法收到电子邮件null,但始终返回该值,但是经过一番挖掘后,我找到了解决方案,现在我通过请求获取用户的电子邮件地址单独发送,但是现在如何将这封电子邮件添加到Firebase?

 protected void handleTwitterSession(TwitterSession session) {
        Log.d(TAG, "handleTwitterSession:" + session);

    AuthCredential credential = TwitterAuthProvider.getCredential(
            session.getAuthToken().token,
            session.getAuthToken().secret);

    mAuth.signInWithCredential(credential)
            .addOnCompleteListener(context, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    Log.e(TAG, "signInWithCredential:onComplete:" + task.isSuccessful());

                    Log.e(TAG, "user:" + task.getResult().getUser().getUid() + "  :  " +  task.getResult().getUser().getDisplayName() + " : "
                          +  task.getResult().getUser().getEmail() + " :  "+  task.getResult().getUser().getPhotoUrl());

                    // If sign in fails, display a message to the user. If sign in succeeds
                    // the auth state listener will be notified and logic to handle the
                    // signed in user can be handled in the listener.
                    if (!task.isSuccessful()) {
                        Log.e(TAG, "signInWithCredential", task.getException());
                    }
                }
            });
}

上面是我现在正在使用的方法,无法添加电子邮件,并且在我的Firebase仪表板上它显示了电子邮件的空值

邮件的空值

拉维

您可以通过致电来更新当前用户的电子邮件地址 user.updateEmail()

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

user.updateEmail("[email protected]")
    .addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if (task.isSuccessful()) {
                Log.d(TAG, "User email address updated.");
            }
        }
    });

是来自firebase的官方文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查电子邮件是否已在Firebase中使用参数进行了验证?

在Android上使用Firebase 3.0进行电子邮件验证

使用Firebase的Twitter简单登录获取用户电子邮件地址

如何将电子邮件添加到使用电话验证登录的帐户-Flutter&Firebase

在SpringSecurity中使用UserDetailService通过电子邮件进行登录身份验证

无法在flutter中使用firebase auth登录或注册电子邮件和密码

使用Firebase电子邮件链接登录进行e2e测试?

如何添加 Firebase 安全规则以检查登录用户的电子邮件是否在列表中

在MVC 5中使用电子邮件登录

在Django中使用电子邮件登录

在Django中使用电子邮件和密码登录

在iOS中使用电子邮件/ GMail登录

无法在 Django 中使用电子邮件登录

使用PHP和SMTP进行电子邮件登录检查

Firebase Android如何在不登录的情况下发送验证电子邮件?

如何在Laravel护照中使用电话或电子邮件登录?

如何在MVC身份中使用“用户名”而不是“电子邮件”登录?

如何确定用户是否使用电子邮件和密码或Google登录到Firebase?

如何使用Firebase在Flutter中登录用户的电子邮件

Swift Firebase - 如何验证“PhoneAuthCredential”并保持用户当前使用其当前电子邮件 uid 登录

如何从目标c中的Firebase身份验证中删除“使用电子邮件登录”

如何确定Firebase用户是否使用电子邮件和密码身份验证登录

如何使用Angular和Firebase修复我的电子邮件登录?

使用多个电子邮件帐户进行 firebase 触发器电子邮件扩展

Firebase登录谷歌电子邮件

Firebase登录时验证电子邮件

Firebase Android-在Kotlin中使用电子邮件和密码创建用户

如何使用smack,openfire,android用电子邮件地址登录?

使用 Android 进行 Firebase 电子邮件和密码身份验证 - 用户注册