So arbeite ich mit Firebase-Web-E-Mail-Authentifizierung und ich bin auf dieses Problem gestoßen. Firebase würde nur prüfen, ob das Passwort mit dem in der Datenbank übereinstimmt, WENN die E-Mail existiert. Wenn die E-Mail nicht existiert, gibt es keine Fehlermeldung und meldet die Person an. Ich habe mich gefragt, ob es eine Möglichkeit gibt, dies zu beheben, so dass Firebase jedes Mal, wenn die E-Mail existiert, überprüft und wenn es nicht eine Fehlermeldung gibt.Firebase überprüft nicht, ob E-Mail als Konto existiert
JavaScript
function SignUserIn() {
// Get elements
const txtEmail = document.getElementById("txtEmail");
const txtPassword = document.getElementById("txtPassword");
// Get email and pass
const email = txtEmail.value;
const password = txtPassword.value;
const auth = firebase.auth();
//Sign In
firebase.auth().signInWithEmailAndPassword(email, password)
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
if (errorCode === 'auth/wrong-password') {
window.alert('Wrong password.');
}
else {
//Realtime listener
firebase.auth().onAuthStateChanged(frebaseUser => {
if (email) {
window.alert("You Are Successfully Signed In! Welcome " + email);
window.location = 'homepage.html'; //After successful login, user will be redirected to Homepage
sessionStorage.setItem("email", email);
}
else {
console.log('Not logged in');
window.alert("Incorrect User/Password Please Try Again");
}
});
sessionStorage.setItem(email);
}
});
}
HTML BODY
<div class="login-card">
<div class="mlogo"><img src="LogoFINAL copy.png" alt="Medavance"> </div>
<h1 class="title">Welcome To Medavance! </h1>
<br>
<!------------------------------------- Start of Login -------------------------------------------->
<input type="email" id="txtEmail" placeholder="Email" required>
<input type="password" id="txtPassword" placeholder="Password" required>
<button id="btnLogin" class="btn btn-action" onclick="SignUserIn()"> Log in </button>
<div class="btn btn-secondary"><a href="NewAccount.html"> Sign Up</div>
</div>
_ „Firebase Authentifizierung macht den Aufbau sicherer Anwendung einfach“ _ - Teil sicher zu sein, ist _ ** nicht erzählen Menschen, ** _ sie das falsche Passwort haben. Sie sagen ihnen nicht "Ja, dieser Benutzer existiert, aber Sie haben das falsche Passwort". Sie sagen ihnen nicht "Nein, dieser Benutzer existiert nicht". Denn nur um gültige Benutzernamen zu finden, ist es halb so weit, Sie zu hacken. Sie sagen nur "Sie können sich nicht mit diesem Benutzernamen und Passwort anmelden". –
@StephenP Okay, danke, dass ich das verstanden habe. Aber mein Hauptproblem ist, dass, wenn ich eine E-Mail gebe, die nicht in der Datenbank existiert, ich nicht die Fehlermeldung bekomme, sondern nur die Person anmelde, wie kann ich das vermeiden und zumindest die Person dazu bringen, das zu überprüfen Benutzer existiert und wenn Benutzer nicht existiert, erscheint die Fehlermeldung "Sie können nicht mit diesem Benutzernamen und Passwort angemeldet sein." . – SpiderMonkey