Azure Active Directory导致SignOut上的CORS错误

时间:2017-01-18 16:42:50

标签: c# asp.net-mvc azure azure-active-directory

我有一个ASP MVC Web App,它使用Azure AD作为用户登录和注销的一种形式。该应用程序已在Azure AD中注册,登录工作完美无瑕。

重要的是要注意我使用OWIN接口进行登录和注销。

问题在于,当我按下应用程序上的注销按钮时,执行以下代码:

HttpContext.GetOwinContext().Authentication.SignOut(
            OpenIdConnectAuthenticationDefaults.AuthenticationType, 
            CookieAuthenticationDefaults.AuthenticationType);

此处用户已成功注销,但网页未重定向到登录页面。相反,它会导致两个Microsoft站点之间出现CORS错误,同时从https://login.windows.net/.../oauth2/logout?post_logout_redirect_uri= ...重定向到https://login.microsoftonline.com/.../oauth2/logout?post_logout_redirect_uri= ...

CORS错误是:CORS策略阻止了从{url 1}到{url 2}的重定向:请求的资源上没有“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:1089”访问。

我有点不知道这是我的应用程序或天蓝色设置中的问题,因为我无法控制此重定向。

1 个答案:

答案 0 :(得分:0)

Here是一个代码示例,可以很好地与Azure AD集成。要解决此问题,您可以共享您正在开发的代码。

请在共享前删除敏感信息,您可以在GitHub上公开代码示例。

更新

enter image description here