如何从WebAPI更新AspNetUsers表中现有用户记录的密码

时间:2018-09-10 05:00:19

标签: c# asp.net-web-api asp.net-identity

我是Web API的新手,在这里我正在基于令牌的身份验证中工作。 除了更新密码功能外,我使用AspNetUsers表完成了所有登录和注册过程。

在这里,我通过传递新密码来更新了HashedPassword字段。当我尝试获取特定用户的令牌时,它将返回一些密码与passwordHash格式相关的错误,因为它直接保存了没有哈希的新密码。

代码:

var json_string = "[\"item 1\", \"item 2\"]";
JSON.parse(json_string); // Output: ["item 1", "item 2"]

任何人都可以帮助我以正确的方式做到这一点。如果我犯了任何愚蠢的错误,请问对此感到抱歉。

1 个答案:

答案 0 :(得分:0)

创建一个密码重置令牌,然后使用它来更改密码。示例:

var user = await manager.FindByIdAsync(id);

var token = await manager.GeneratePasswordResetTokenAsync(user);

var result = await manager.ResetPasswordAsync(user, token, "NewPassword");