Я работаю над функцией сброса пароля в приложении Node.js/Express, используя Scipeleize и Crypto Module с хэш -паролями. Когда я отправляю запрос POST в мою конечную точку /сброс-пассу, я получаю следующую ошибку: < /p>
Ошибка в ResetPassword: аргумент «Data» должен быть из строки типа или экземпляра буфера, TypedArray или DataView. Получен не определен.import crypto from "crypto";
import { User } from "../models/user.js"; // Sequelize model
import { Op } from "sequelize";
import logger from "../utils/logger.js";
export const resetPassword = async (req, res) => {
try {
const { token, password } = req.body;
// Find user by reset token
const user = await User.findOne({
where: {
reset_token: token,
reset_token_expires: { [Op.gt]: new Date() },
},
});
if (!user) {
return res.status(400).json({ message: "Invalid or expired reset token" });
}
// Hash new password
const hashedPassword = crypto
.createHash("sha256")
.update(password)
.digest("hex");
// Update user password and clear reset token
await user.update({
password: hashedPassword,
reset_token: null,
reset_token_expires: null,
});
res.status(200).json({ message: "Password reset successful" });
} catch (error) {
logger.error("Error in resetPassword:", error);
res.status(500).json({ message: "Error resetting password" });
}
};
< /code>
Дополнительная информация:
node.js Версия: 18.x
Express Version: 4.x
squelize версия: 6.x < /p>
Подробнее здесь: https://stackoverflow.com/questions/796 ... e-js-crypt
TypeError: аргумент «Data» должен быть из строки типа или буфера в node.js crypto.update () для сброса пароля ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Next.js и Jest: TypeError `Аргумент« оригинал »должен быть функцией типа
Anonymous » » в форуме Javascript - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-