我有一个客户想要使用基于 SAML2 断言的方法来实现 SSO。客户将成为身份提供者 (IDP),而我的应用程序将有效地成为服务提供者 (SP)。
在过去,我实施了 SSO 解决方案,其中 IDP 是 Oracle Access Manager,因此我们获得了 idp.xml 文件,它允许我们使用提供的 Fedlet 配置我们的 SP 环境。这方便地创建了一个相关的 WAR 文件,在部署后,我可以将 sp.xml 文件分发给将其导入 IDP 的客户。这一切都很好,我理解这些概念,即我们收到初始请求,fedlet 处理这个并将用户带到他们进行身份验证的 IDP,然后通过 Fedlet 允许我们的 SAML 响应将它们传递回我们的 SP解析和提取一些识别用户的数据。然后,我执行将它们登录到我们的应用程序所需的操作。
然而,目前的要求是不使用任何后端框架来提供 IDP,他们已经声明它是定制的。他们给了我 IDP URL 和证书文件,并要求我们提供“AssertionConsumerServiceURL”和“AudienceURI”。
我为其启用 SSO 的应用程序主要基于 Java。到目前为止,我的调查使我找到了 Forgerock 的 OpenAM 解决方案以及 Shibboleth 的 OpenSAML。然而,我在第一步中挣扎,基本上我在哪里开始构建一个使用 OpenAM/Shibboleth/AnotherFramework 连接到第三方 IDP 的自定义 SP 应用程序。
任何指针都会非常有用。
谢谢,李