Spring security SAML:自己的登录页面而不是 ADFS 登录重定向
Posted
技术标签:
【中文标题】Spring security SAML:自己的登录页面而不是 ADFS 登录重定向【英文标题】:Spring security SAML : Own login page instead of ADFS login redirect 【发布时间】:2017-03-19 06:50:51 【问题描述】:在使用 SAML 进行 ADF 登录的 Spring 安全性中度过了美好时光后,我成为了框架的粉丝。 我能够将我的 Web 应用程序与 ADFS 集成以进行登录。但我在这里缺少一些要求: 1)当我们在我的 Web 应用程序登录页面上选择 IDP ADFS 登录 url 时,它正在从我的 Web 应用程序移出到 ADFS 登录。这不是企业的欲望行为。 2) 还面临的问题是,成功登录用户对象从 ADFS 发送回我的 Web 应用程序,但如果登录失败,它会停留在 ADFS 登录页面上并显示登录错误消息。
有这个要求,请您指导我了解以下要求。
1) 我想使用自己的登录页面(而不是 ADFS 登录重定向)来捕获用户名和密码 2) 将这些凭据传递给 ADFS 服务器进行身份验证 3) 用户认证流程: 3.a 一旦用户通过身份验证,然后将用户重定向到成功页面 3.b 如果身份验证失败,则将用户重定向到错误页面。 (从 ADFS 获取失败响应)
【问题讨论】:
你能解决这个问题吗? SAML 不支持发送凭证。如果您想获得此流程,请 IDP 获取此流程的 API(SOAP)(如果他们支持),然后通过它进行访问。使用 SAML 它会重定向 【参考方案1】:基于 SAML 的单点登录的核心思想是将验证用户身份的系统(IDP - 身份提供者)与接收用户身份信息但不执行身份验证的系统(SP - 服务提供者)分离。
此模型意味着 SP 无权访问用户的凭据,因此不能包含带有用户名/密码的传统登录屏幕。
您可以找到更多详细信息,例如在SAML 2.0 Web SSO的维基中
【讨论】:
谢谢 Vladimír Schäfer .. 是的,得到了 WIKI 的答复,并且能够按照 SAML 标准进行实施。【参考方案2】:是的,如果 IDP 提供身份验证 API,我们可以这样做。 Okta IDP 提供了这样的 API。
检查这个:okta authentication api
【讨论】:
以上是关于Spring security SAML:自己的登录页面而不是 ADFS 登录重定向的主要内容,如果未能解决你的问题,请参考以下文章
Spring Security SAML 可信证书条目不受密码保护
未抛出 Spring Security SAML DisabledException
没有 Spring Boot 的 Spring Security SAML 身份元数据