IdentityServer3 - 如何获得PreAuthenticateAsync中的部分身份?

问题描述:

问题相当自我描述。有方法:IdentityServer3 - 如何获得PreAuthenticateAsync中的部分身份?

await this.owinContext.Environment.GetIdentityServerPartialLoginAsync(); 

PreAuthenticateAsync方法它得到null结果。作为一种如何实现部分身份的方式,我使用重定向到我的控制器之一并返回,但有没有更好的方法?

正如方法名称所暗示的,这在任何身份验证发生之前都会触发,所以它不会有任何部分登录信息给您。您应该在PostAuthenticateAsync中进行该调用,这将在任何身份验证步骤后创建,并且您可以使用适当的构造函数创建context.AuthenticateResult,该构造函数将为您提供新的部分重定向或完整结果。

+0

我需要在Auth本身之前处理索赔,我以其他方式解决了这个问题,但我同意你的回答是正确的 – Qerts