【发布时间】:2020-10-12 23:05:48
【问题描述】:
我在我的 Android 应用中使用电子邮件/密码为用户实现了一个简单的登录。当我注册用户时,他们的信息几乎会立即显示在 Firebase 控制台上。这不再发生,我无法通过控制台删除用户。它在使用相同 Firebase 项目的 iOS 端完全正常。
这是我创建用户的代码。
private void createAccount(String email, String password) {
if (!validateForm()) {
return;
}
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(getActivity(), new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
Log.d(TAG, "createUserWithEmail:success");
FirebaseUser user = mAuth.getCurrentUser();
Toast.makeText(getContext(), "User was successfully created.", Toast.LENGTH_SHORT).show();
sendEmailVerification();
EmailConfirmationFragment fragment = new EmailConfirmationFragment();
FragmentTransaction transaction = Objects.requireNonNull(getActivity()).getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.registration_root, fragment)
.addToBackStack(null)
.commit();
} else {
Log.w(TAG, "createUserWithEmail:failure", task.getException());
Toast.makeText(getContext(), "Error detected. " + task.getException().getLocalizedMessage(), Toast.LENGTH_SHORT).show();
}
}
});
}
【问题讨论】:
-
我认为 Firebase 控制台中没有任何改变会导致这种情况。一些故障排除步骤 1) 您的用户是否实际注册? 2)您是否在控制台中查看相同的项目? 3) 浏览器中是否有任何可能阻止内容的扩展程序?如果是这样,请启用所有此类插件,在隐身窗口或其他浏览器中尝试。如果这些步骤都不起作用,可能值得reach out to Firebase support 寻求个性化的故障排除帮助。
-
我如何确认用户确实在注册?我忘记提及的另一件事是,我无法登录可以通过控制台查看的任何用户。就好像我的应用程序的功能与 Firebase 隔离开来,但我创建的用户仍会收到验证电子邮件并能够重置密码。
-
听起来您在控制台中查看的项目与您的代码正在处理的项目不同。您可能需要根据控制台中的内容仔细检查
google-services.json文件中的项目 ID。 -
他们都有相同的project_id。我的同事也有同样的问题。问题是它工作了一段时间然后停止了。
-
有趣。您的代码看起来不错,所以我怀疑我们可以在这里做很多事情。向reach out to Firebase support 寻求个性化的故障排除帮助可能是个好主意。也许他们会看到您的项目配置错误。
标签: java android firebase-authentication firebase-console