[英]I can't login. It keeps Saying Error Logging in eventhough I have entered the email and password as I input in Firebase
自启动以来,电子邮件/密码登录提供者的状态始终为“启用”。 但它仍然给我同样的错误。 即使从Firebase中的身份验证显示1.将您的应用程序连接到Firebase->已连接(绿色选中)2.将Firebase身份验证添加到您的应用程序->正确设置了依赖项(绿色选中)
我已尝试使用输入Firebase的电子邮件和密码登录,但仍然无法登录。 它向我显示了吐司:
登录错误:(
我一直在尝试从互联网上找到解决方案。 这是我当前的代码:
04-14 18:46:05.238 9631-9631/com.adrian.projectadrian E/Login Error: signInWithEmailAndPassword
com.google.firebase.auth.FirebaseAuthException: The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section.
at com.google.firebase.auth.api.internal.zzdr.zzb(Unknown Source)
at com.google.firebase.auth.api.internal.zzey.zza(Unknown Source)
at com.google.firebase.auth.api.internal.zzeo.zzc(Unknown Source)
at com.google.firebase.auth.api.internal.zzeq.onFailure(Unknown Source)
at com.google.firebase.auth.api.internal.zzdx.dispatchTransaction(Unknown Source)
at com.google.android.gms.internal.firebase_auth.zza.onTransact(Unknown Source)
at android.os.Binder.execTransact(Binder.java:453)
package com.adrian.projectadrian
import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.EditText
import android.widget.Toast
import com.google.android.gms.tasks.OnCompleteListener
import com.google.firebase.FirebaseApp
import com.google.firebase.auth.AuthResult
import com.google.firebase.auth.FirebaseAuth
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
var mAuth = FirebaseAuth.getInstance()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
FirebaseApp.initializeApp(this)
setContentView(R.layout.activity_main)
login_btn.setOnClickListener(View.OnClickListener {
login()
})
}
private fun login() {
val emailTxt = findViewById<View>(R.id.email) as EditText
var email = emailTxt.text.toString()
val passwordTxt = findViewById<View>(R.id.password) as EditText
var password = passwordTxt.text.toString()
if (!email.isEmpty() && !password.isEmpty()) {
this.mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, OnCompleteListener<AuthResult> { task ->
if (task.isSuccessful) {
startActivity(Intent(this, home::class.java))
Toast.makeText(this, "Successfully Logged in :)", Toast.LENGTH_LONG).show()
} else {
Log.e("Login Error", "signInWithEmailAndPassword", task.getException())
Toast.makeText(this, "Error Logging in :(", Toast.LENGTH_SHORT).show()
}
})
} else {
Toast.makeText(this, "Please fill up the Credentials :|", Toast.LENGTH_SHORT).show()
}
}
}
预期结果是它可以将我定向到主页。
编辑之后,我们现在可以看到这是错误消息:
该Firebase项目已禁用给定的登录提供程序。 在Firebase控制台的“身份验证”部分的登录方法标签下启用该功能。
因此,您尚未启用尝试登录的提供程序。 解决方案是转到Firebase身份验证控制台并启用该提供程序。
原始回复:
如果Task
失败,则它包含一个异常以及有关该失败的详细信息。 您应该记录该异常,以查找登录失败的原因。
this.mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, OnCompleteListener<AuthResult> { task ->
if (task.isSuccessful) {
startActivity(Intent(this, home::class.java))
Toast.makeText(this, "Successfully Logged in :)", Toast.LENGTH_LONG).show()
} else {
Log.e("Login Error", "signInWithEmailAndPassword", task.getException());
Toast.makeText(this, "Error Logging in :(", Toast.LENGTH_SHORT).show()
}
})
使用以上代码,您可以在应用的logcat输出中找到异常。
所以我要做的就是下载另一个
google-services.json
并将其替换为Dir
app
并更改为此
implementation 'com.google.firebase:firebase-auth:16.0.1'
implementation 'com.google.firebase:firebase-core:16.0.1'
在我的build.gradle(模块:应用程序)中,这解决了我的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.