如何解决UserManager 的 ResetPasswordAsync 方法的详细信息
我想从内部了解.net的ResetPasswordAsync()方法是如何工作的,我尝试了很多但找不到任何关于它的文章,请帮助。
解决方法
下面是ResetPasswordAsync()的代码
tableView.scroll(preservedPosition)
如果用户点击了忘记密码,那么您需要检查用户是否存在,然后生成一个用于密码重置的令牌密钥,如下所示
public virtual async Task<IdentityResult> ResetPasswordAsync(TUser user,string token,string newPassword)
{
ThrowIfDisposed();
if (user == null)
{
throw new ArgumentNullException(nameof(user));
}
// Make sure the token is valid and the stamp matches
if (!await VerifyUserTokenAsync(user,Options.Tokens.PasswordResetTokenProvider,ResetPasswordTokenPurpose,token))
{
return IdentityResult.Failed(ErrorDescriber.InvalidToken());
}
var result = await UpdatePasswordHash(user,newPassword,validatePassword: true);
if (!result.Succeeded)
{
return result;
}
return await UpdateUserAsync(user);
}
然后发送如上所示的恢复邮件或发送到您自己的视图以进行恢复。
代码取自微软 GitHub 帐户
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。