问题标签 [single-logout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
500 浏览

saml-2.0 - Kentor/Sustainsys 在收到来自 IDP 的 LogoutResponse 后重定向回 SP

在我的应用程序中,Kentor v.21 单次注销适用于不同的 IDP-s。然而,一个特定的 IDP 在注销后将 LogoutResponse 发送回 SP。在 SP 日志中,我看到以下行:Received logout response _9b1700c5-6f58-43aa-8b63-a2a4ad6fa3f2, redirecting to https://mysp.url/home/。我不确定这个 URL 来自哪里,但结果是,用户重新登录到 SP 应用程序。有没有办法在 SP 端配置它以重定向到其他页面?

0 投票
1 回答
277 浏览

c# - 使用 dotcore api 在单页应用程序上联合注销

我们正在使用 ItFoxTec 库进行 saml 身份验证。联合登录工作正常。问题在于联合注销。场景就像:我们有两个名为 mvcapp 和 singlepageapp(angular) 的应用程序。当我单击 mvcapp 上的登录按钮时,我重定向到我的 IDP 登录页面并在身份验证后返回 mvcapp。在 mvcapp 上有我的 singlepageapp 的链接。我单击该链接,我已经登录 IDP,因此我的 api 从 IDP 接收 saml 令牌,api 使用令牌并制作一个 jwt 令牌并将我重定向到 singlepageapp 以及查询字符串中的 jwt 令牌(使用 saml 令牌创建)。

现在用户从 mvcapp 中单击注销按钮,注销请求将转到 IDP 注销端点。IDP 知道,该用户已登录这两个应用程序,并且 IDP 具有这两个应用程序的注销端点。现在 IDP 为 singalpageapp 发出注销请求(注销端点是 api 端点)。api 没有任何 cookie,但 singalpageapp 在浏览器上有 jwt 令牌。所以我的问题是,api 将如何删除 jwt 令牌。以便用户从两个应用程序中注销。

0 投票
1 回答
1152 浏览

saml-2.0 - 在 /Saml2/Acs 点接收 SAML 注销响应

在我的应用程序中,单次注销工作正常,但在 Idp 上处理注销请求后,我在 /Saml2/Acs 点得到响应。我不确定这个 URL 是从哪里来的,所以有什么特别的方法可以在 SP 端配置这个端点,因为我无法控制 Idp。

为了提供更多详细信息,以下是登录/注销请求响应

0 投票
1 回答
1033 浏览

spring - 从 CAS 服务器注销后无法重定向到 Spring 应用程序页面

我正在尝试使用 CAS 服务器从 Spring 启动应用程序中单点注销。我能够从 Spring 应用程序和 CAS 服务器注销,但我想重定向到我的 Spring 应用程序https://applicationip:port/application/logoutsuccesspage的自定义注销页面比 CAS 注销页面,即https://casserverip:port/cas/logout

0 投票
1 回答
916 浏览

saml-2.0 - 单点注销如何与 OKTA(IDP)-Shibboleth(SP)-App 配合使用

OKTA-Shibboleth(Apache)-Nakisa(Tomcat)

SSO 正在登录。现在,我需要配置注销。因此,用户从应用程序中注销,用户需要被重定向到带有磁贴的 OKTA 页面。

但是,目前,用户再次被重定向到应用程序。

它将用户发送到 /logout?redirect=default.html 但该 default.html 被 Apache 规则捕获并重新登录用户。

看起来它需要点击 https://xxxx/Shibboleth.sso/Logout。当我访问此 url 时,它说注销已成功完成,尽管它不会返回 OKTA。这是否意味着在应用程序的注销设置中,他们需要重定向到此?

但是,我如何让用户再次回到 IdP(即 OKTA)?

这就是我认为会发生的事情。

配置 Shibboleth2.xml 的东西?文档说我只需要配置默认情况下存在的以下内容。

但是,一旦用户注销完成,它如何将用户重定向到 OKTA(IdP)。是否在 IdP 的元数据中配置?

0 投票
1 回答
44 浏览

certificate - 身份提供者是否忽略了 SAML 规范,或者不需要对注销请求和响应进行签名?

SAML 规范接下来说“如果使用 HTTP POST 或重定向绑定,则必须对消息进行签名。” 和 LogoutResponse 相同。但是,当我在不同的身份提供商(onelogin、auth0、duo、Azure AD)中查找设置时,我发现他们不需要服务提供商的证书即可进行单次注销(我发现只有一个例外,没关系)。可能我不明白概念或错过了什么,并请你的 stackowerflow 社区帮助我解决这种情况。

0 投票
1 回答
920 浏览

c# - 如何将具有 SingleLogoutService URL 的 SAML2 服务提供者添加到 jumpcloud?

我正在开发一个 Asp.Net MVC Web 应用程序。我们有实施 SSO 和 SLO 的要求。我的应用程序(至少 2 个应用程序)充当服务提供商 (SP),我使用 Jumpcloud 作为身份提供商 (IdP)。我想使用带有服务提供商 SingleLogoutService URL 的 SAML 在 jumpcloud 上添加应用程序。但是没有选项可以在 Jumpcloud 上添加 SingleLogoutService URL。

如何为 Jumpcloud 上的应用程序添加 SingleLogoutService URL?如何获取 Jumpcloud(身份提供商)的 SingleLogoutService URL?Jumpcloud 上的导出元数据没有 SingleLogoutService。

我将 ComponentSpace 2.6.0.2 用于 SSO 并使用低级 API。SSO 已经实施并且运行良好。

从 Jumpcloud 导出的示例 IdP 元数据

删除了简洁的数据 urn:oasis:names:tc:SAML:1.0:nameid-format:unspecified

0 投票
1 回答
365 浏览

onelogin - 当用户从 onelogin IDP 强制注销时,不调用服务提供者的 SLS 端点

我正在使用 onelogin java-saml 对我的应用程序的用户进行身份验证。SSO 部分工作正常;但是,当我使用 onelogin 用户管理页面强制注销用户时,我看不到对我的服务提供商 SLS 端点提出的任何请求。我是否缺少打开 SLO 的配置?

这是我的 onelogin 配置:

onelogin.saml2.strict = false onelogin.saml2.debug = true

onelogin.saml2.sp.entityid = https://localhost/zk

onelogin.saml2.sp.assertion_consumer_service.url = https://localhost/zk/acs

onelogin.saml2.sp.assertion_consumer_service.binding = urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST

onelogin.saml2.sp.single_logout_service.url = https://localhost/zk/slo

onelogin.saml2.sp.single_logout_service.binding = urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect

onelogin.saml2.sp.nameidformat = urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

onelogin.saml2.sp.x509cert = #cert 提供

onelogin.saml2.idp.entityid = 提供的#url

onelogin.saml2.idp.single_sign_on_service.url = #url 提供

onelogin.saml2.idp.single_sign_on_service.binding = urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect

onelogin.saml2.idp.single_logout_service.url = #url 提供

onelogin.saml2.idp.single_logout_service.response.url = #url 提供

onelogin.saml2.idp.single_logout_service.binding = urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect

onelogin.saml2.idp.x509cert = #cert 提供

onelogin.saml2.security.nameid_encrypted = false

onelogin.saml2.security.authnrequest_signed = false

onelogin.saml2.security.logoutrequest_signed = false

onelogin.saml2.security.logoutresponse_signed = false

onelogin.saml2.security.want_messages_signed = false

onelogin.saml2.security.want_assertions_signed = false

onelogin.saml2.security.sign_metadata =

onelogin.saml2.security.want_assertions_encrypted = false

onelogin.saml2.security.want_nameid_encrypted = false

onelogin.saml2.security.requested_authncontext = urn:oasis:names:tc:SAML:2.0:ac:classes:Password

onelogin.saml2.security.onelogin.saml2.security.requested_authncontextcomparison = 精确

onelogin.saml2.security.want_xml_validation = false

onelogin.saml2.security.signature_algorithm = http://www.w3.org/2000/09/xmldsig#rsa-sha1

onelogin.saml2.organization.name = SP Java onelogin.saml2.organization.displayname = SP Java 示例 onelogin.saml2.organization.url = http://sp.example.com onelogin.saml2.organization.lang =

onelogin.saml2.contacts.technical.given_name = 技术人员 onelogin.saml2.contacts.technical.email_address = Technical@example.com onelogin.saml2.contacts.support.given_name = 支持人员 onelogin.saml2.contacts.support.email_address = 支持@@example.com

0 投票
1 回答
74 浏览

mobile - 为移动应用程序实施 SP 发起的 SLO -- PingFederate

我有一个关于在移动应用程序的 PingFederate 环境中实现 SLO 的查询。

我们是服务提供商。让我解释一下移动应用程序流程。请帮助我了解如何实施 SLO

  1. 移动应用程序向 PingFederate 发送请求以获取授权码。
  2. 用户未通过身份验证,请求转移到 IDP 登录页面。
  3. IDP 登录过程完成,SP 收到 SAML 响应。
  4. 授权代码已生成并发布到应用程序。
  5. 应用程序联系 PingFederate OAuth 访问令牌端点以收集访问令牌
  6. 访问令牌发布到资源,资源服务器使用 PF 端点验证令牌。
  7. 用户登陆移动应用

当用户单击应用程序注销按钮时,用户已成功从应用程序注销。用户 IDP 会话仍然存在,因为移动应用程序使用 Android chrome 自定义选项卡进行用户登录。下次如果用户打开应用程序活动会话,则允许他们在不提示输入凭据的情况下进入应用程序。此问题在 iPhone 中不会发生,因为它使用 Safari 浏览器,并且当用户关闭移动应用程序时会话将被清除。

实施 SLO 将解决此问题。但是,我以前没有做过 SLO,我需要帮助来实现它。

移动应用程序将使用哪个端点联系 PingFederate 以向 IDP 发起 SLO?

有人可以在这里帮助我吗

https://PFLoadBalanceURL/sp/startSLO.ping

0 投票
1 回答
842 浏览

java - 多个实例上同名的多个客户端的 CAS

我们有两个应用程序(abcdef)是在 Struts2 中开发的,并与用于 SSO 的 CAS 服务器 3.2 集成,部署在多个主机 (IP) 上。该部署架构图如下。SSO 在以下部署中运行良好,没有问题。

在此处输入图像描述

我们在同一主机上部署了具有多个实例(具有端口80808081的 tomcat)的相同的两个 CAS 客户端(abcdef )。请参阅下面的部署架构图。使用此 SSO 无法正常工作,单点登录工作正常,但是当用户从abc应用程序注销(其在 Host2 的 8081 端口上运行,会话过期请求将转到def应用程序(其在Host2的8080端口上运行)。使用此用户未从def应用程序(其在8081端口上运行)注销(会话未过期)主机2)。

在此处输入图像描述

可能这是我也不知道的愚蠢问题。如何解决这个问题。任何人都请帮助我。在上述两种情况下,URL 相同http://domain.in/abc/login.dohttp://domain.in/def/login.do

更新:

abc注销,仍然登录在应用程序def中。

看起来您正在尝试在这里实现某种集群?

是的。我想实现所有 CAS 客户端的单次注销。但在这里它没有发生。如上所述,注销命令正在发送到其他实例。

您是否在同一应用程序设置的节点之间进行会话复制?

粘性会话。

您如何将来自客户端(或来自 CAS)的流量路由到各个应用程序节点?

负载均衡器