Owin OpenIdConnect Active Directory HttpContext.GetOwinContext不会打开microsoftonlin登录页面

时间:2017-01-12 13:07:26

标签: active-directory owin

我尝试使用Owin和OpenIdConnect通过活动目录(office 365 online)对用户进行身份验证。我已经跟着这个example了,我设法创建了一个新的MVC测试项目,让它全部运转起来。 (AD app id,tenant,Web config等的设置都很好。)

我现在正在尝试将该功能添加到我现有的ASP.net mvc应用程序中,但我无法使用该功能。

这就是我所拥有的:一个带有" void"像这样的动作(来自我的PoC中的示例,但不适用于我的实际应用程序):

public void SignIn()
    {
        // Send an OpenID Connect sign-in request.
        if (!Request.IsAuthenticated)
        {
            HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "/" }, OpenIdConnectAuthenticationDefaults.AuthenticationType);
        }
    }

调用此操作时,我希望将浏览器定向到:login.microsoftonline.com ...,而是打开此页面:https://localhost:44301/Account/Login?ReturnUrl=%2fAccount%2fSignIn

它就像在某处调用某种重定向一样,我无法看到哪里。

帮助!

1 个答案:

答案 0 :(得分:0)

我找到了答案。我不得不做两件事:

  1. 从引用中删除WebMatrix dll(显然是mvc的nuget包,把它放在那里,所以它可能会回来)
  2. 从web.config
  3. 中删除身份验证模式=“表单”

    感谢。