【问题标题】:Android - Firebase Quickstart Email/Password Auth demo doesn't workAndroid - Firebase 快速入门电子邮件/密码验证演示不起作用
【发布时间】:2017-01-18 05:47:44
【问题描述】:

所以,这里有几个类似的问题,但没有一个适合我的解决方案。

我正在使用从 Github 下载的快速入门演示。今天下载了。我没有更改演示代码中的任何内容。

我已经解决的一些常见错误(根据我的阅读):

  • 我在 Firebase 控制台中创建了项目,其中包含 可下载的 json 文件(使用包名创建)。我提供了 我的 SHA1 指纹。

  • 邮箱/密码登录方式已勾选。

  • 我已更新并安装了 Google Play 服务和 Google 存储库(来自 Android Studio SDK 管理器)

  • 在我的设备上,Google Play 服务是 9.4.52 版

如果我在 Firebase 控制台中打开匿名登录选项,我就可以在演示应用上成功匿名登录。但是电子邮件/密码不起作用。

编辑:不确定我这样做是否正确,但我在 Logcat 中得到了这些

D/EmailPassword: createAccount:chris884@gmail.com
 W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
 W/ResourcesManager: Asset path '/system/framework/com.android.media.remotedisplay.jar' does not exist or contains no resources.
 W/ResourcesManager: Asset path '/system/framework/com.android.location.provider.jar' does not exist or contains no resources.
 D/EmailPassword: createUserWithEmail:onComplete:false

【问题讨论】:

  • 将this Log statement生成的logcat发布到快速入门代码中。
  • 提供错误日志和代码 sn-p,以便我们进一步帮助您。同时,您可以通过在 onComplete 回调 task.getException().getMessage 中添加此代码来检查原因
  • @qbix 好的,检查我的编辑

标签: android firebase firebase-authentication


【解决方案1】:

logcat 输出显示创建用户帐户失败。 documentation 表示由于以下原因可能会发生这种情况:

  • 密码不够强(少于 6 个字符)
  • 电子邮件地址格式错误
  • 已存在具有给定电子邮件地址的帐户

在createUserWithEmailAndPassword()的完成监听器中添加Log语句,看看失败的原因是什么:

@Override
public void onComplete(@NonNull Task<AuthResult> task) {
    Log.d(TAG, "createUserWithEmail:onComplete:" + task.isSuccessful());

    // 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.d(TAG, "onComplete: Failed=" + task.getException().getMessage()); //ADD THIS

        Toast.makeText(EmailPasswordActivity.this, R.string.auth_failed,
                Toast.LENGTH_SHORT).show();
    }

    // [START_EXCLUDE]
    hideProgressDialog();
    // [END_EXCLUDE]
}

【讨论】:

  • 密码强度要求没有明确记录。很容易错过。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
  • 2018-06-17
  • 2016-10-13
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
  • 2016-10-04
相关资源
最近更新 更多