我遇到了这个问题:
我正在使用带有ASP.Net Identity的Identity Server 3。当我第一次重置密码时,一切正常,我可以用我的新密码登录。
现在,当我第二次尝试忘记密码功能时,Identity Server无法识别新密码并向我发出无效的用户名密码错误。
经过一些挖掘和调试后,我发现IdSrv没有新的数据库上下文,这就是它找不到新密码的原因。
我尝试覆盖UserServiceAuthenticateLocalAsync
,我强制认证成功如下:
context.AuthenticateResult = new AuthenticateResult(user.UserName, user.UserName);
现在我收到这些日志:
IdentityServer3.Core.Endpoints.AuthenticationController|Login credentials successfully validated by user service
IdentityServer3.Core.Endpoints.AuthenticationController|Calling PostAuthenticateAsync on the user service
// Some more logs...
IdentityServer3.Core.ResponseHandling.AuthorizeInteractionResponseGenerator|User is not active. Redirecting to login.
我不知道为什么IdSrv说我的用户无效。
有什么想法吗?