OpenSAML 的重点是什么?有什么替代方案吗?

sja*_*han 7 java saml opensaml saml-2.0

我目前正在设置 SAML IDP。起初,我认为 spring-security-saml 会帮助我,但我发现它只有助于设置 SAML 协议的 SP 端。

所以我想:走吧,让我们使用 OpenSAML 来制作它。

那么问题来了:那个库实际上是做什么的?我知道这是一个低级库,但我不明白它的意义何在。我没有找到好的教程和文档,我觉得我只是买了一些没有螺丝和手册的宜家家具。

虽然,我看到了很多有趣的东西,比如解码器 (HTTPPostDecoder),它从 HTTP 请求中给我一个 SAML 对象,但我不知道是否应该根据 IDP 元数据手动检查这个对象,或者 OpenSAML 是否可以自动检查它(我认为它不能)。

从那里开始,我有点迷失在所有这些 OpenSAML 对象中,我不知道我应该使用哪些对象,哪些不需要。

举个例子,我试图从头开始生成元数据,但我没有找到任何可以开箱即用的默认配置,我最终得到了 10 行代码的一个 XML 标记,所以我没有得到这个图书馆的真正价值是什么。

有人可以启发我了解 OpenSAML 做什么和不做什么吗?是否有一些好的做法,可以包装它并实际帮助我(或任何其他选择)的助手库或我还没有找到的好教程?我认为这肯定会有所作为,但我无法得到什么以及如何......

预先感谢您的帮助!

小智 5

正如您可以阅读广告https://wiki.shibboleth.net/confluence/display/OpenSAML/Home

OpenSAML 是一个处理低级 SAML 协议内容的库。它不是 IdP。IdP 还必须为您提供身份验证方法,可能包括用户配置文件管理。

有许多可用的 SAMLv2 IdP,例如 Shibboleth、JBoss PicketLink、ForgeRock OpenAM、Ping Federate;有些是免费的有些是商业的