【问题标题】:How to implement SSO in Java with SAML?如何使用 SAML 在 Java 中实现 SSO?
【发布时间】:2018-03-04 16:04:38
【问题描述】:

我的应用程序使用 cuba.platform 作为框架,我想实现一个 LoginProvider。以下是一些关于此的文档:

https://doc.cuba-platform.com/manual-6.8/web_login.html?_ga=2.22865267.938183531.1520173474-888291717.1510758296

是否有一种简单的方法来实现上述文档的“LoginProvider”以支持 SAML?

我试图找到一些开源框架,但是很难找到关于这个主题的好的教程或好的文档。

那么,我该如何实现这个 LoginProvider?

【问题讨论】:

  • Java/SAML的常用方式是Spring Security。

标签: java login single-sign-on saml cuba-platform


【解决方案1】:

SAML2 是一个相当简单的流程,LoginProvider 必须通过查看图表来处理它。从页面:

login() - 验证用户,启动会话并更改状态 联系方式

所以在调用login() 时,您应该拥有用户的SAML 属性。而不是 LoginProvider 的标准用户名/密码流程(根据该页面所说),您需要这样做:

  • 找出用户关联的IdP,即获取IdP的entityID
  • 从 entityID 的 SAML 元数据加载 SSO 端点
  • 使用 SAMLRequest 将浏览器重定向到 SSO 端点
  • 在您的 LoginProvider 处接收重定向的浏览器以获取 SAMLResponse
  • 从 SAMLResponse 解析 SAML 属性
  • login()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 2019-07-20
    • 1970-01-01
    • 2010-10-05
    • 2022-08-17
    相关资源
    最近更新 更多