我想为MVC Web应用程序覆盖Azure AD SSO登录。我不想注销其他应用程序,但是出于安全目的需要登录。我正在通过Owin和OIDC一起使用OAuth2.0进行身份验证。
我正在尝试使用提示符= login的查询参数,理论上应该可以解决问题。我发现最近在Core中提供了对此的Github引用,但无法在MVC5.2中跟踪如何做到这一点
是否可以在Application Builder中进行?获取访问代码时,我尝试将.WithExtraQueryParameters ("prompt=login")
添加到ConfidentialClientApplicationBuilder
。没运气。
如果代码不是现成的,还有其他解决方法吗?
您可以使用ForceLogin
将参数添加到ForceLogin
。
ConfidentialClientApplicationBuilder
:使应用程序开发人员可以使用户通过服务提示输入凭据,即使不需要这样做。如果获取令牌失败,让用户重新登录,这将很有用。 这是通过将ForceLogin
发送给身份提供者来完成的。同样,我们已经看到它在某些注重安全性的应用程序中使用,在这些应用程序中,组织治理要求用户每次访问身份验证程序的特定部分时都重新登录。一个应用程序。
因此,请使用以下代码:
prompt=login
修饰符result = await app.AcquireTokenInteractive(scopes)
.WithPrompt(Prompt.ForceLogin)
.ExecuteAsync();
将无济于事。您需要改用.WithExtraQueryParameters
。请参考.WithPrompt
。
示例:
article