PingFederate SAML 基本设置

PingFederate SAML basic setup

我需要一些帮助才能使用 PingFederate (SAML) 为 Web 应用程序获取 SSO。

我有一个具有密码身份验证和 google SSO 集成的 Web 应用程序,我也想通过 PingIdentity 添加对 SSO 的支持。它适用于拥有自己的本地 PingIdentity 服务器的组织。

我已经在本地下载了 PingFederate 服务器和 运行 示例应用程序。它们不能完全工作,因为我需要一个许可证密钥,承诺会在 24 小时内提供,但那是超过 72 小时前的事了。

  1. 有谁知道我可以联系谁来获取许可证密钥或绕过此要求或获取试用许可证密钥...?

此外,我有点不知道如何实现 SP。我找到了这个过滤器:https://github.com/salesforceidentity/java-saml-sp - 这看起来很简单,但专为销售人员应用程序设计。试图根据我的需要将其分解,但似乎工作量太大。另一方面,PingIdentity 的教程有 IdP 和 SP 的示例,但我又觉得我需要对他们的 SP 进行逆向工程。

我想要的是使用本地安装在我计算机上的 PingIdentity 作为 IdP,并获取有关如何编写也在我的计算机上运行的 SP 的参考,该 SP 执行重定向到 IdP 以检查是否已通过身份验证,否则,用户可以对其进行身份验证 - 并将用户重定向回我的 Web 应用程序,仅提供用户使用的电子邮件。

所有示例似乎都很繁琐,而且似乎无法轻松解释我作为开发人员需要做什么来实现 SP(这不是 salesforce 和其他东西的一部分)。

  1. 所以,我只是在寻找任何接近我需要的实施示例。

我正在使用 Tomcat(当然还有 java)作为我的 Web 应用程序后端。

谢谢

如果您正在实施 SP,我首先查找的是 PingFederate/PingIdentify 个端点:

https://documentation.pingidentity.com/display/PF66/SP+Endpoints

总体方法是您需要制作一个 POST 请求到 SAML 请求端点。那应该让你开始。我个人在 Python 中使用过 OneLogin 库,但这里是 Java 库:

https://github.com/onelogin/java-saml/tree/v2.0.0

它也有样本。你要找的就在这里:

https://github.com/onelogin/java-saml/blob/v2.0.0/samples/java-saml-jspsample/src/main/webapp/dologin.jsp

首先,PingFederate 是商业软件,在 Whosebug 上询问如何绕过许可是非常糟糕的形式。

其次,虽然使用 PingFederate 作为参考实施当然很好,但 none 的客户团队会急于回复您,因为您知道您想要做的就是获得许可证在验证要编写的任何代码时使用。急什么?您不会购买该软件……虽然您可能不喜欢这个答案,但这是一个诚实的答案。如果你写了一个可靠的软件,有人在复制其中的一部分时向你要临时密钥,你会急着给他们一个吗?但是,您可以发送电子邮件至 sales@pingidentity.com - 使用企业电子邮件(他们不会将密钥发送到普通消费者地址,如 GMail、Yahoo 等),然后看看会发生什么。

第三,有大量用于 SAML 的开源工具包。 Spring to PicketLink 中的所有内容都适用于 Tomcat。 Google 出现了大量关于配置它们的指南。