Я пытался реализовать bcrypt внутри моего пользователя, чтобы я мог использовать JWT для аутентификации;однако всякий раз, когда я пытаюсь хешировать свой пароль с помощью bcrypt, он выдает ошибку в первом операторе if.Я использую express.js в качестве моей платформы.Я также должен отметить, что я не использую базу данных, и пользователь хранится в массиве в другом файле.Я новичок в узле и все еще пытаюсь понять его.
Мои маршруты пользователя
const express = require('express');
const router = express.Router();
const users = require('../../Users');
const bcrypt = require('bcrypt');
router.post('/signup', (req, res, next) => {
bcrypt.hash(req.body.password, 10, (err, hash) => {
if (err) {
return res.status(500).json({
error: err
});
} else {
const user = {
id: users.length + 1,
userName: req.body.userName,
email: req.body.email,
password: hash,
firstName: req.body.firstName,
lastName: req.body.lastName,
}
user
.then(result => {
console.log(result)
res.status(201).json({
message: 'User created'
})
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
})
}
})
})
Запрос клиента
{
"email": "test@test.com",
"password": "testerpassword",
"userName": "test",
"firstName": "teste",
"lastName": "tester"
}