SSO和OAuth混淆

时间:2017-04-20 15:57:02

标签: oauth oauth-2.0 single-sign-on adfs federation

这实际上是一个关于我实际需要什么而不是一个howto的问题。

我们有一个客户端使用Ping Identity / Ping Federate输入其系统中的所有站点。我们为他们开发了一个Web应用程序,他们希望从他们的主门户访问,而不是为我们的网站单独登录。

他们并没有告诉我们,但他们似乎认为我们还需要购买Ping Identity / Federate或设置ADFS服务器场以便他们访问我们的系统。

这是我感到困惑的地方。将主链接中的链接(一旦他们通过Ping认证)在我们的站点上调用其用户名的REST API(在这种情况下是电子邮件)不会更容易/更有意义)和一个令牌然后登录?我们是规模较小的公司,我无法想象设置ADFS服务器场或获得昂贵的Ping许可证是值得的。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您的客户实际上是要求您提供利用SAML 2.0或OpenID Connect *等行业标准的联合身份验证方法。我认为这是合理的,因为;

  • 他们不必实施一次性解决方案。我也推动使用标准(从经验谈起)。
  • 在您拥有标准解决方案的同时,向其他客户销售相同的解决方案会更容易。

话虽如此,设置PingFederate或ADFS还有很多其他选择,可以分为三组:

  • IDaaS:Azure AD,PingOne,Okta,OneLogin等。他们接管联合任务,通常可以为开发人员提供非常简单的集成选项,价格合理甚至免费。
  • 内部联盟解决方案:与PingFederate和ADFS一样,但也有开源替代方案。他们再次负责联合并为开发人员提供简单的集成选项。
  • 联盟框架/库:只需用您的首选语言搜索它,例如,Spring Security是Java的一个很好的选择。通过使用这些,您的应用程序本身就具有联邦功能。这些通常是免费的,但需要集成到应用程序中,有时可能会很复杂。

*:请不要使用OAuth2进行身份验证,但这不是它的用途。