代码之家  ›  专栏  ›  技术社区  ›  Anil

如何支持SAML进行用户身份验证

  •  2
  • Anil  · 技术社区  · 10 年前

    我正在开发一个企业web应用程序(基于Java/JEE2),该应用程序目前通过acegi安全性支持本地身份验证和授权。(版本1) 我们计划将基于SAML的SSO身份验证添加到应用程序中。

    理论上看起来很简单(见下图) SAML flow

    但我只是找不到任何具体的方法/教程/逐步解决方案,以便为我的应用程序添加SAML支持。谷歌向我介绍了OpenSAML手册(张贴了下面的链接),但也没有太多帮助。 https://wiki.shibboleth.net/confluence/display/OpenSAML/OSTwoUserManual

    我错过了一些很简单的东西吗。请帮助我或向我指出资源。

    2 回复  |  直到 10 年前
        1
  •  2
  •   rbrayb    10 年前

    看看:

    SAML : SAML connectivity / toolkit

    SAML : A SAML stack

    这里有许多添加客户端SAML支持的方法的链接。

    或者,您可以使用OpenAM、Shibboleth(如上所述)Ping Identity等工具,选择“代理”路线。

        2
  •  1
  •   ProgrammerDan    10 年前

    如果你想走Shibboleth路线,那很好,但我建议不要从API(你发布的链接)开始。从安装指南开始 you can find here .

    从Shibboleth提供的API中滚动您自己的实现不是一个简单的建议;您最好集成现有产品,如Shibboleth或Ping Identity等。在相对简单的SAML协议中有很多隐藏的复杂性,如果您尝试构建自己的协议,您将花费大量时间来克服许多陷阱。我已经做到了,我知道。

    当然,如果你有很多时间,学习该协议可能是值得的,因为在OpenSAML之上构建了我自己的IdP之后,我对SAML标准非常了解,无论是好的还是坏的,这在我目前的职位上证明是有价值的。然而,这并不是目前为止最快的解决方案。祝你好运,无论你选择哪条路线!