问题标签 [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.
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 端配置它以重定向到其他页面?
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 令牌。以便用户从两个应用程序中注销。
saml-2.0 - 在 /Saml2/Acs 点接收 SAML 注销响应
在我的应用程序中,单次注销工作正常,但在 Idp 上处理注销请求后,我在 /Saml2/Acs 点得到响应。我不确定这个 URL 是从哪里来的,所以有什么特别的方法可以在 SP 端配置这个端点,因为我无法控制 Idp。
为了提供更多详细信息,以下是登录/注销请求响应
spring - 从 CAS 服务器注销后无法重定向到 Spring 应用程序页面
我正在尝试使用 CAS 服务器从 Spring 启动应用程序中单点注销。我能够从 Spring 应用程序和 CAS 服务器注销,但我想重定向到我的 Spring 应用程序https://applicationip:port/application/logoutsuccesspage的自定义注销页面比 CAS 注销页面,即https://casserverip:port/cas/logout
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 的元数据中配置?
certificate - 身份提供者是否忽略了 SAML 规范,或者不需要对注销请求和响应进行签名?
SAML 规范接下来说“如果使用 HTTP POST 或重定向绑定,则必须对消息进行签名。” 和 LogoutResponse 相同。但是,当我在不同的身份提供商(onelogin、auth0、duo、Azure AD)中查找设置时,我发现他们不需要服务提供商的证书即可进行单次注销(我发现只有一个例外,没关系)。可能我不明白概念或错过了什么,并请你的 stackowerflow 社区帮助我解决这种情况。
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
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
mobile - 为移动应用程序实施 SP 发起的 SLO -- PingFederate
我有一个关于在移动应用程序的 PingFederate 环境中实现 SLO 的查询。
我们是服务提供商。让我解释一下移动应用程序流程。请帮助我了解如何实施 SLO
- 移动应用程序向 PingFederate 发送请求以获取授权码。
- 用户未通过身份验证,请求转移到 IDP 登录页面。
- IDP 登录过程完成,SP 收到 SAML 响应。
- 授权代码已生成并发布到应用程序。
- 应用程序联系 PingFederate OAuth 访问令牌端点以收集访问令牌
- 访问令牌发布到资源,资源服务器使用 PF 端点验证令牌。
- 用户登陆移动应用
当用户单击应用程序注销按钮时,用户已成功从应用程序注销。用户 IDP 会话仍然存在,因为移动应用程序使用 Android chrome 自定义选项卡进行用户登录。下次如果用户打开应用程序活动会话,则允许他们在不提示输入凭据的情况下进入应用程序。此问题在 iPhone 中不会发生,因为它使用 Safari 浏览器,并且当用户关闭移动应用程序时会话将被清除。
实施 SLO 将解决此问题。但是,我以前没有做过 SLO,我需要帮助来实现它。
移动应用程序将使用哪个端点联系 PingFederate 以向 IDP 发起 SLO?
有人可以在这里帮助我吗
java - 多个实例上同名的多个客户端的 CAS
我们有两个应用程序(abc和def)是在 Struts2 中开发的,并与用于 SSO 的 CAS 服务器 3.2 集成,部署在多个主机 (IP) 上。该部署架构图如下。SSO 在以下部署中运行良好,没有问题。
我们在同一主机上部署了具有多个实例(具有端口8080和8081的 tomcat)的相同的两个 CAS 客户端(abc和def )。请参阅下面的部署架构图。使用此 SSO 无法正常工作,单点登录工作正常,但是当用户从abc应用程序注销(其在 Host2 的 8081 端口上运行)时,会话过期请求将转到def应用程序(其在Host2的8080端口上运行)。使用此用户未从def应用程序(其在8081端口上运行)注销(会话未过期)主机2)。
可能这是我也不知道的愚蠢问题。如何解决这个问题。任何人都请帮助我。在上述两种情况下,URL 相同http://domain.in/abc/login.do或http://domain.in/def/login.do
更新:
从abc注销,仍然登录在应用程序def中。
看起来您正在尝试在这里实现某种集群?
是的。我想实现所有 CAS 客户端的单次注销。但在这里它没有发生。如上所述,注销命令正在发送到其他实例。
您是否在同一应用程序设置的节点之间进行会话复制?
粘性会话。
您如何将来自客户端(或来自 CAS)的流量路由到各个应用程序节点?
负载均衡器