我不是在寻找涉及用户,生成令牌和发送电子邮件以重置用户密码的解决方案。
该方案是用户与管理员联系并要求他们重置密码(内部组织Web应用程序)。然后告诉他们新的临时密码是什么,以便他们可以登录并更改它。
我认为没有任何功能可以让我执行上述操作。我的尝试:
string passwordToken = await UM.GeneratePasswordResetTokenAsync(user.Id);
IdentityResult res = await UM.ResetPasswordAsync(user.Id, passwordToken, "newPassword#@!$%");
UM是UserManager。
我收到错误"没有注册IUserTokenProvider"。我认为GeneratePasswordResetToken是导致错误的那个。如果是这样,为什么?
我如何正确地做我需要的?
答案 0 :(得分:2)
使用RemovePasswordAsync
和AddPasswordAsync
UserManager.RemovePasswordAsync(user.Id);
UserManager.AddPasswordAsync(user.Id, tempPassword);