【问题标题】:how to create own IDP for SAML in java or node如何在 java 或 node 中为 SAML 创建自己的 IDP
【发布时间】:2019-10-28 07:00:36
【问题描述】:

我想创建一个可供多个应用程序使用的 SSO,最好的方法是什么。我正在浏览 SAML2.0,但我很困惑,因为我没有找到任何文章来创建自己的/自定义 SAML IDP。

1.创建自己的IDP有多可行。
2.实现SSO的最佳方式是什么

【问题讨论】:

  • 有多种实现可用并准备好集成到您自己的代码中。但是,SO 不欢迎寻求库/框架指导的问题。
  • 另外,考虑 OpenIDConnect 而不是 SAML2。它更容易实现

标签: saml saml-2.0 spring-saml opensaml


【解决方案1】:

不要尝试自己动手 - 使用受支持的解决方案。

在客户端,您需要一个SAML stack

其中一些带有您可以安装的 IDP。

看看:

  • Shibboleth
  • Azure AD - 云中的 SAML IDP
  • SaaS 例如Auth0,Okta - 云中的 SAML IDP
  • 带有 SAML 插件的 identityserver4
  • ComponentSpace - 有客户端和服务器端
  • Sustainsys - 有客户端和服务器端

所有这些都将提供 SAML IDP。

它们还提供了良好的文档来帮助您启动和运行。

【讨论】:

    【解决方案2】:

    问题 1:创建自己的 IDP 有多可行?

    答案
    GitHub 存储库中的How to build and run Shibboleth SAML IdP and SP using Docker container 提供了有关使用 Shibboleth SAML IdP 和 OpenLDAP 在 Java 中为 SAML 构建您自己的 IDP 的说明。

    • Shibboleth SAML IdP 负责身份联合。

    • OpenLDAP 负责身份验证。

    问题 2:实施 SSO 的最佳方式是什么?

    回答
    Shibboleth IdP 已为已与 SAML SP 集成的企业应用程序实施 SSO。

    (I) 我已经验证了由 Docker 运行的 Shibboleth SAML IdP(身份提供者)和 OpenLDAP 为以下企业应用程序提供的 SAML 单点登录 (SSO)。换句话说,我利用 Docker 运行的 Shibboleth SAML IdP 和 OpenLDAP 成功登录到以下企业应用程序。

    Microsoft Office 365
    Google G Suite
    Salesforce
    Dropbox
    Box
    Amazon AWS
    OpenStack
    Citrix NetScaler
    VMware vCloud Director
    Oracle NetSuite
    

    (II) 我们使用 Java 开发了以前版本的 Zero-Password Authentication and Authorization System,并利用 Shibboleth IdP 为企业应用程序提供 SAML SSO。

    我们在 Scala 中开发了具有可扩展性和高可用性的 Zero-Password Authentication and Authorization System 当前版本,以便在没有 Shibboleth IdP 的情况下为企业应用程序本地提供 SAML SSO。

    为了在您的生产环境中快速部署 SAML IdP,强烈建议利用第三方 SAML IdP(例如 Shibboleth IdP)。这样您就有足够的时间用 Java 或其他编程语言开发自己的 SAML IdP。

    (III) StackOverflow 的另一个问题"How to implement or integrate single sign on with SAML and Shibboleth" 提供了有价值的信息和讨论。

    【讨论】:

      【解决方案3】:

      问题 1:创建自己的 IDP 是否可行?

      是的,这是可能的,但需要付出很多努力。

      此存储库可以帮助您弄清楚如何构建自己的 IDP:A mock IDP and SP using the OpenSAML library

      此存储库可以帮助您将自己的 IDP 集成到 Spring Boot 应用程序:Spring Boot, SAML, and Okta

      问题 2:实施 SSO 的最佳方式是什么?

      在我看来,实施 SSO 的最佳方式是使用现收现付身份服务。它可以帮助您节省精力和金钱。 Amazon、Google、Apple、Okta、Auth0、geetoPod 等有很多这样的服务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-11
        • 1970-01-01
        • 1970-01-01
        • 2020-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多