checks hash against stored data in postgres
This commit is contained in:
@@ -4,9 +4,11 @@ const apiRouter = express.Router();
|
||||
const userRouter = require('./user');
|
||||
const productsRouter = require('./products');
|
||||
const registerRouter = require('./register');
|
||||
const loginRouter = require('./login');
|
||||
|
||||
apiRouter.use('/users', userRouter);
|
||||
apiRouter.use('/products', productsRouter);
|
||||
apiRouter.use('/register', registerRouter);
|
||||
apiRouter.use('/login', loginRouter);
|
||||
|
||||
module.exports = apiRouter;
|
||||
@@ -0,0 +1,26 @@
|
||||
const bcrypt = require('bcrypt');
|
||||
|
||||
const loginRouter = require('express').Router();
|
||||
const client = require('../db/Client');
|
||||
|
||||
loginRouter.route('/').post(async (req, res) => {
|
||||
const newClient = client();
|
||||
const { email, password } = req.body;
|
||||
|
||||
try {
|
||||
newClient.connect().then(console.log("Connection successful."));
|
||||
let hash = await newClient.query("SELECT password FROM users WHERE email = ($1)", [email]);
|
||||
hash = hash.rows[0].password;
|
||||
|
||||
let match = await bcrypt.compare(password, hash);
|
||||
|
||||
if (match) res.send("Login successful!");
|
||||
} catch(e) {
|
||||
console.log(e);
|
||||
} finally {
|
||||
await newClient.end()
|
||||
.then(console.log("Client disconnected."));
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = loginRouter;
|
||||
Reference in New Issue
Block a user