这是一个非常基本的问题。我想使用ColdFusion进行SSO集成,但不知道从哪里开始。我通过谷歌搜索找到了网站ssoeasy.com
,但对如何使用它以及在何处查找文档感到非常困惑。
我认为它与cfldap
或cfhttp
有关但不确定的内容和位置:
<cfhttp method="get" url="http://testsso.com/login.cfm">
</cfhttp>
答案 0 :(得分:0)
如果我了解您的SSO用例,该应用程序将成为云服务提供商(SP)。您需要确定三件事来帮助选择合适的技术,主要是(1)集成的SSO协议,主要是SAML,OAuth,OpenID Connect(OIDC)等。(2)托管,主要是云,On- Prem或混合,以及(3)您的业务合作伙伴是否需要IdP发现。
基于ColdFusion以及成为云SP Web应用程序,我的经验是应用程序将由您的组织托管,因此需要内部部署SSO功能,以及需要IdP发现为你的合作伙伴。
如您的问题所述,有一些集成选项。我发现成为SP网站最流行的方法是利用处理SSO协议的供应商产品(例如SAML,OIDC),其中与ColdFusion应用程序的集成基于简单的REST API集成。通过这种设计模式,供应商产品可以管理SSO协议的所有安全性,然后简化与应用程序的集成,作为身份信息的安全REST API交换。这将最大限度地减少对您的应用程序的影响,并为现代身份提供最大的支持。提供此功能的一种产品是通过无代理集成(也称为参考ID集成)的PingFederate。在这种方法之后,我已经成功地集成了ColdFusion应用程序。
答案 1 :(得分:0)
SAML似乎是我们团队最容易实施的。 Phil Duba的2013 Beyond Encrypt()演示文稿是一个很好的起点。他的网站现在已经关闭,但我相信你可以在某个地方找到可下载的文件。一般来说,学习SAML是个好主意。此外,您可以使用Java,因此可以查看SAML / OAUTH Java示例,并尝试为Coldfusion执行此操作,因为它基于Java。
答案 2 :(得分:0)
这实际上取决于您希望在SSO生态系统中扮演什么角色。您是较大联盟(服务提供商)中的应用程序,还是您尝试在您控制的多个应用程序中实施SSO样式登录,或者您是否希望设置以便用户可以使用Google或Facebook或其他此类用户登录身份登记册?
几年前,我们与Shibboleth(https://shibboleth.net/)和CF进行了实施,我们在系统中的预定位置将是其他公司身份提供商的服务提供商。它非常直接,因为我们让Shibboleth处理所有SAML联合grunt工作,然后当它完成时,我们从Shibboleth获得一个电子邮件地址(我们决定的唯一标识符),说用户已经通过身份提供商进行了身份验证
其他'SSO'实现适用于其他类型的集成。
从CFC处理OAuth - https://github.com/coldfumonkeh/oauth2
如果您正在运行足够新版本的ColdFusion https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-m-o/cfoauth.html
,请集成oauth支持希望这对你有所帮助。