- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开始使用基于服务提供商的 SSO for SAML。由于用户在继续登录之前必须输入他的电子邮件,因此启动了一个状态变量并将其传递给 SSO。它通过回调 URL 返回,因此为了完整性目的再次检查。它可以防止 CSRF 攻击。
现在 IdP 发起的 SSO 根本不允许我设置状态变量。登录从身份提供者开始,并且只向应用程序提供一个身份验证 token 。我不知道哪个用户从一开始就在进行身份验证。如果我删除状态变量检查,它也可能触发 CSRF 攻击。
我还在 rails
中使用 omniauth
,这使得状态变量成为强制参数,SSO 提供程序是 auth0
。
将状态变量附加到 IdP 发起的 SSO 解决方案的方法是什么?
最佳答案
IDP-init-SSO SAML 流程中 RelayState
参数的实际标准值是您希望在 SP 成功验证 SAML 断言后将用户发送到的 URL。这适用于绝大多数 SAML 部署。
但是,该机制确实不能防止 CSRF 攻击,这就是为什么该规范对 IDP-init-SSO 中 RelayState
的值保持沉默并使其开放以就 IDP 和SP通过那个参数的值来防止CSRF。一种这样的机制是在 RelayState
中使用带符号的值,但如前所述,没有什么是标准化的,因此它将取决于 IDP 和 SP 之间的双边协议(protocol),该协议(protocol)不能扩展。
总结:将您希望用户转到的 URL 的值作为您发送给 SP 的“未经请求的”SAML 响应中的 RelayState
值发送。如何让 IDP 的 SAML 堆栈执行此操作是特定于实现的。对于 Auth0,您可以在以下位置阅读:https://auth0.com/docs/protocols/saml/saml-configuration#idp-initiated-sso ,在你的情况下它看起来像:
https://{accountname}.auth0.com/samlp/YOUR_CLIENT_ID?RelayState=http://FINAL_DESTINATION_URL
关于single-sign-on - 如何在身份提供者 (IdP) 发起的 SAML sso 中维护状态参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43861315/
我在 PingFederate 中配置了 IDP 发起的 SSO,它显示 SSO 应用端点 为:https://myserver/idp/startSSO.ping?PartnerSpId=sp_id
我在 PingFederate 中配置了 IDP 发起的 SSO,它显示 SSO 应用端点 为:https://myserver/idp/startSSO.ping?PartnerSpId=sp_id
我正在尝试使用我的 Office 加载项实现 SSO。为此,我使用 Office IdentityAPI,它要求您拥有一个应用程序 ID URI,该 URI 有一些限制(例如您拥有该域并且正在验证该域
谁能向我解释一下SP发起的SSO和IDP发起的SSO之间的主要区别是什么,包括哪一个是联合实现单点登录的更好解决方案与 ADFS + OpenAM 联盟? 最佳答案 IDP 启动 SSO 来自 Pin
我正在将 Azure Active Directory 配置为 Salesforce 的 SSO 身份验证提供程序。我已经在 Azure 中注册了该应用程序。当我尝试在 Azure 中为注册的应用程序
我正在将 Azure Active Directory 配置为 Salesforce 的 SSO 身份验证提供程序。我已经在 Azure 中注册了该应用程序。当我尝试在 Azure 中为注册的应用程序
我们将 AWS 控制台联合到我们的 Shibboleth IdP (SAML)。 AWS CLIv2 是否支持使用联合账户通过 SSO 访问 CLI?如果是这样——我在哪里可以找到下面链接中列出的“S
我在使用 Jira 插件时遇到多个问题:“Azure Active Directory 单点登录 (SSO) 与 Microsoft 的 JIRA SAML SSO 集成”。 问题: 安装插件时会出现
使用 IdentityServer3、Kentor.AuthServices 0.19(带有 OWIN 中间件)和标准 MVC 4 WebApi 2 应用程序,我们按照 https://github.
有关单点登录(SSO)之前有写过两篇文章 一文读懂 JWT! 看完这篇不能再说不懂SSO原理了! 如果说XXL-JOB你可能并不陌生,它是非常火爆的一个分布式任
我正在为 使用 WSO2 身份服务器SSO 与 saml 在我的演示应用程序中。 我的要求是用户应该向服务提供商登录页面提供登录凭据,而不是身份提供商页面。 出于同样的目的,我关注了 Asela 的以
我对如何使用 SiteMinder 和 OpenSSO 管理以下场景感兴趣 给定两个 Web 应用程序,并强制要求在它们之间使用 SSO。应用程序 A 是一个简单的应用程序,仅需要用户名/密码组合。应
我有一个现有的Wordpress网站。计划是使用cakePHP框架重建站点。由于时间限制,我想一次替换一个Wordpress网站的各个部分。这意味着两个应用程序将并排运行一段时间。我需要使用Wordp
我想在两个网络应用程序之间执行单点登录。这是我的场景: 应用程序 A 和 B(均提供 RESTFUL API)。 应用 B 使用基于表单的身份验证,我无法对应用 B 进行任何修改。此外,应用 A 和应
我是 Cypress 和 JS 的新手。如果未登录,我正在测试的应用程序将重定向到 stub IDP 页面。该应用程序也支持基本身份验证。我在测试中所做的就是cy.visit("https://use
我想为我的自定义 SPA 添加 Azure AD 身份验证。我已在 Azure 门户的应用程序注册中注册了该应用程序。 当我使用 API 调用此“APP”时,我可以获得登录屏幕和 MFA,但登录到 A
我正在尝试设置现有的 ASP.NET Web 应用程序以使用 SAML 或 OAUTH 2.0 对 Azure Active Directory 帐户进行身份验证。教程仅向我展示 MVC 中的示例代码
我正在尝试在基于 spring 的 Web 应用程序中实现一个简单的 SSO 功能。场景: 我有一个主应用程序 Application1 和一个辅助应用程序 2。两者都有自己的登录机制(使用 spri
我已经搜索了这个问题的答案,但是找不到任何答案。 我有一系列要使用同一Facebook应用程序的iOS应用程序。 SSO与我创建和测试的第一个应用程序完美配合。但是其他所有方法都失败,并返回了unkn
我发现 NTLMAuthenticationFilter.java 中有以下代码用于露天共享 SSO 身份验证: Response remoteRes; if (cachedNtlm)
我是一名优秀的程序员,十分优秀!