当前位置: 首页 > 知识库问答 >
问题:

Azure Active Directory在注销时导致CORS错误

苏昊英
2023-03-14

我有一个ASP MVC Web应用程序,它使用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错误是:从{url 1}重定向到{url 2}已被CORS策略阻止:请求的资源上不存在访问-控制-允许-起源标头。因此,不允许访问起源http://localhost:1089。

我有点不知所措,这是否是我的应用程序或Azure设置的问题,因为我无法控制此重定向。

共有1个答案

百里阳平
2023-03-14

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

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

 类似资料:
  • 问题内容: 我已经在我的应用中实现了GCM通知。我现在尝试在用户注销时注销该应用程序。我正在使用以下代码。执行此代码时,它将导致应用程序崩溃,并显示以下logcat: 这是代码: 问题答案: 将支持库更新为25.0.0后,我遇到了同样的问题。对我来说,更新下面的库之后,在应用程序gradle文件中,问题消失了。

  • 我使用Keycloak 10.0.2来确保spring boot REST API的前端和Angular 9。前端由运行在http://localhost:8080上的spring boot微服务提供服务。在keycloak方面,openid-connect客户端web源配置为允许所有源。 spring boot spring安全配置为使用keycloak作为oauth2客户端提供程序。 angu

  • 它实际做的是创建另一个列表,遍历旧列表,并将元素始终添加到新列表的head。 但是,当我决定重新实现这个想法而不查看这段代码时,我更改了的位置,并将其放在之后 我的问题是这真的有什么不同吗?我无法理解其中的原因,因为毕竟您在遍历旧列表。为什么要求在*temp声明后立即执行?

  • 我有一个webforms web应用,我正在其中集成Azure AD SSO。我有一个登录序列工作正常,但注销后重定向给我一个CORS错误。 在我呼叫在我的startup类中,我有以下内容(实际上URI不是硬编码的,而是在web.config中设置的) 错误是 SEC7120:[CORS]起源https://localhost:44370“没有找到”https://localhost:44370'

  • 问题内容: 我在hapijs中使用jwt插件和策略。 我可以在登录用户时创建jwt令牌,并通过’jwt’策略使用同一令牌对其他API进行身份验证。 我将令牌设置为cookie,其中是令牌名称。另外,我没有将这些令牌保存在数据库中。 但是,注销时如何销毁jwt令牌? 请提出一种方法。 问题答案: JWT存储在浏览器中,因此删除令牌以删除客户端的cookie 如果您还需要在令牌到期之前从服务器端使令牌

  • 最近,我尝试了Spring4中新的内置CORS支持。这个特性很棒,我想在我的Spring Boot/AngularJS应用程序中实现它。 所有请求都可以正常工作,但是我不能注销我的用户,因为-request to是由Spring Security处理的。 是否可以在Spring Security之前处理-request,或者是否应该在中附加cors-header?