1

大家好

概括:

我们开发的项目将 Identity Server 3 与 MembershipReboot 结合使用。我们有下一个登录工作流程:

  1. 登录页面(电子邮件、密码)
  2. 某些自定义用户服务具有覆盖PostAuthenticateLocalAsync(在验证用户凭据之后和在为 IdentityServer 发出登录 cookie 之前的层)方法,该方法具有我们的业务和验证逻辑。此逻辑通过将用户重定向到附加页面AuthenticateResult并触发部分登录机制(部分登录身份验证类型)
  3. 成功后部分登录通道(通过GetPartialLoginResumeUrlAsync)和另一个登录过程用户获得令牌。

这一切都很好,我们很高兴,但是当我们需要新案例时,问题就来了。

问题:

我们的新案例需要重新启动登录过程,但在登录页面之后,即从那一刻起PostAuthenticateLocalAsync。用户不必重新授权和输入凭据,直接进入步骤2。换句话说,我们想再次获得部分登录。我们应该怎么做?

我将非常感谢任何建议和帮助。谢谢。

4

1 回答 1

0

您可能应该考虑实现自己的ICustomRequestValidator.ValidateAuthorizeRequestAsync并检查传入的请求。如果事实证明您想重新进行身份验证,您可以执行类似的操作 return Task.FromResult(new AuthorizeRequestValidationResult { IsError = true });

于 2017-07-24T13:41:14.383 回答