我可以使用PingFederate(SAML)为网络应用程序获取SSO帮助。
我有一个具有密码身份验证和Google SSO集成的Web应用程序,我也希望通过PingIdentity添加对SSO的支持。对于拥有自己的本地PingIdentity服务器的组织而言。
我已在本地下载了PingFederate服务器并运行了示例应用程序。他们没有完全工作,因为我需要一个许可证密钥,承诺在24小时内发出,但这是超过72小时前。
而且,我对如何实施SP感到很失望。我找到了这个过滤器:https://github.com/salesforceidentity/java-saml-sp - 这看起来非常简单,但是专为salesforce应用而设计。试图打破我的需求,但似乎太多的工作。另一方面,PingIdentity的教程有IdP和SP的例子,但我觉得我需要对他们的SP进行逆向工程。
我想要的是在我的计算机上本地安装PingIdentity作为IdP,并获得如何编写也在我的计算机上运行的SP的参考,该SP执行重定向到IdP以检查是否经过身份验证,否则,用户可以进行身份验证它 - 并将用户重定向回我的Web应用程序,仅提供用户使用的电子邮件。
所有示例似乎都很麻烦,似乎并不能轻易解释我作为开发人员需要做些什么才能实现SP(这不是salesforce和其他东西的一部分)。
我使用Tomcat(当然还有java)作为我的Web应用程序后端。
谢谢
答案 0 :(得分:3)
首先,PingFederate是商业软件,并询问StackOverflow如何绕过许可是非常糟糕的形式。
其次,虽然使用PingFederate作为参考实现肯定是好的,但是没有一个帐户团队会急着回复你,知道你想要做的就是在验证任何代码时获得许可使用你要写。急什么?你不打算买软件......虽然你可能不喜欢这个答案,但这是一个诚实的答案。如果你写了一个坚固的软件,并且有人在复制其中的一部分时要求你提供临时密钥,那么你是否急于向他们提交一个软件?但是,您可以发送电子邮件至sales@pingidentity.com - 使用企业电子邮件(他们不会将密钥发送到常见的消费者地址,如GMail,Yahoo等),看看会发生什么。
第三,SAML有许多开源工具包。从Spring到PicketLink的所有内容都适用于Tomcat。谷歌出现了大量关于配置它们的指南。
答案 1 :(得分:2)
如果您正在实施SP,我首先查找的是PingFederate / PingIdentify端点:
https://documentation.pingidentity.com/display/PF66/SP+Endpoints
总体方法是您需要为SAML请求端点制作POST请求。这应该让你开始。我亲自在Python中使用了OneLogin库,但这里是Java:
https://github.com/onelogin/java-saml/tree/v2.0.0
它也有样品。您在寻找的是: