Zuerst bin ich neu in der Verwendung von Express und dies ist mein erster Versuch, eine Authentifizierungsseite zu erstellen. Ich habe mich mit einer MySQL -Datenbank angeschlossen und die Datenbank -Kennwörter erfolgreich abgefragt, aber sobald ich versuche, ein Hashed -Kennwort zu verwenden und mit bcrypt.compare zu vergleichen, erhalte ich eine "App abgestürzt - Warten auf Dateiänderungen, bevor ich startete" Fehler ". /p>
Hier ist mein Code: < /p>
const express = require("express");
const mysql = require("mysql");
const cors = require("cors");
const bcrypt = require('bcryptjs')
const app = express();
app.use(express.json())
app.use(cors());
const db = mysql.createConnection({
host: "localhost",
user: "useraccount",
password: "useraccount",
database: "users",
});
app.post('/login', (req, res) => {
const sql = 'SELECT password FROM auth_table WHERE email = ?'
db.query(sql, req.body.email, (err, data) => {
if (err) return res.json("Error.");
if (data.length > 0) {
bcrypt.compare(req.body.password, res.json(data), function (err, result) {
if (err) throw err;
if (result) {
return res.json("Login Successful.");
}
})
} else {
return res.json("Login Failed.")
}
})
})
app.listen(8081, () => {
console.log("Listening....");
});
< /code>
Ich habe die Bcrypt -Logik kommentiert und es funktioniert gut, also bin ich mir ziemlich sicher, dass es auf diesen Ausschnitt gesunken ist. Und wenn ich die HTTP -Antwort im Inspektor überprüfe, bekomme ich [{"Passwort": "$ 2a $ 13 $ KZX7P1/GFJWRNGHF8GCWOUQWKQSOJKRCFHEG.OWF93OWFYGFZJZYE"}].
So vergleichen Sie mithilfe von Bcrypt in einer DB -Abfrage mit node.js und exprimieren ⇐ MySql
-
- Similar Topics
- Replies
- Views
- Last post