gpt4 book ai didi

javascript - 尝试更新密码 (GraphQL) "data must be a string and salt must either be a salt string"

转载 作者:行者123 更新时间:2023-12-03 00:29:21 25 4
gpt4 key购买 nike

我是 graphQL 新手,我正在尝试在后端的resolvers.js 文件下更新用户配置文件密码,但我已经坚持了一段时间,并且不断收到相同的错误消息。

enter image description here

resolvers.js

updatePassword: combineResolvers(
isAuthenticated,
async (parent, args, context) => {
const { id, newPassword, oldPassword } = args;
const { models, user, jwtSecret } = context;

await models.User.updatePassword(
{ id, newPassword, oldPassword },
createToken({ newPassword }, jwtSecret, API_TIMEOUTS.JWT_TOKEN),
user.emailAddress
);

return models.User.findByEmail(user.emailAddress);
}
)

Index.js(帮助程序)

 const generatePasswordHash = async password => {
const saltRounds = 10;
return bcrypt.hash(password, saltRounds);
}

User.updatePassword = async (newPassword, emailAddress) => {
const password = await generatePasswordHash(newPassword);

return User.update(
{ password, resetPasswordToken: null },
{
where: {
emailAddress
}
}
);
};

我遇到的错误

“数据必须是字符串,盐必须是盐字符串或轮数”

最佳答案

User.updatePassword 仅采用 2 个参数,第一个是密码。您正在使用 3 调用它。问题是您正在为密码提供一个对象 ({ id, newPassword, oldPassword }),而 bcrypt 不喜欢这样

关于javascript - 尝试更新密码 (GraphQL) "data must be a string and salt must either be a salt string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53943773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com