SSO和OAuth混淆

SSO和OAuth混淆,oauth,oauth-2.0,single-sign-on,adfs,federation,Oauth,Oauth 2.0,Single Sign On,Adfs,Federation,这实际上是一个关于我真正需要什么的问题,而不是一个如何做的问题 我们有一个客户端,它使用Ping身份/Ping联邦成员进入其系统中的所有站点。我们为他们开发了一个web应用程序,他们希望从主门户访问该应用程序,而不是单独登录我们的网站 他们没有告诉我们太多,但他们似乎认为我们还需要购买Ping Identity/Federate或建立一个ADFS场,以便他们能够访问我们的系统 这就是我困惑的地方。如果在他们的主门户中有一个链接(一旦他们使用Ping进行了身份验证)来调用我们站点上的restapi

这实际上是一个关于我真正需要什么的问题,而不是一个如何做的问题

我们有一个客户端,它使用Ping身份/Ping联邦成员进入其系统中的所有站点。我们为他们开发了一个web应用程序,他们希望从主门户访问该应用程序,而不是单独登录我们的网站

他们没有告诉我们太多,但他们似乎认为我们还需要购买Ping Identity/Federate或建立一个ADFS场,以便他们能够访问我们的系统

这就是我困惑的地方。如果在他们的主门户中有一个链接(一旦他们使用Ping进行了身份验证)来调用我们站点上的restapi,并获取他们的用户名(在本例中是电子邮件)和令牌,然后让他们登录,难道不是更容易/更有意义吗?我们是一家规模较小的公司,我无法想象建立一个ADFS农场或为此获得昂贵的Ping许可证是否值得


有什么想法吗?

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

  • 他们不必实施一次性解决方案。我也会推动使用标准(从经验上讲)
  • 向其他客户销售相同的解决方案会更容易,因为您有一个标准的解决方案
也就是说,除了设置PingFederate或ADF,还有很多选择,大致可以分为三组:

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

*:请不要将OAuth2用于身份验证目的,这不是它的用途。

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

  • 他们不必实施一次性解决方案。我也会推动使用标准(从经验上讲)
  • 向其他客户销售相同的解决方案会更容易,因为您有一个标准的解决方案
也就是说,除了设置PingFederate或ADF,还有很多选择,大致可以分为三组:

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

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

您可以免费开始使用Azure AD。您可能需要的大部分功能都是免费的,它提供了一个高度可靠和可扩展的安全令牌服务,可以为您的应用程序提供服务,而无需实施AD FS、Ping或任何其他解决方案。我可以使用本教程在我的开发环境中使用SSO,但这确实给我留下了最后一个问题。我们的客户希望我们提供本教程中未涉及的实体ID。据我所知,它基本上是一个指向控制器的URL,该控制器将生成/返回Shibboleth SAML断言。想法?entityid是唯一标识应用程序的URI。它不必是URL。断言使用者是使用传入令牌的端点/URL。您可以免费开始使用Azure AD。您可能需要的大部分功能都是免费的,它提供了一个高度可靠和可扩展的安全令牌服务,可以为您的应用程序提供服务,而无需实施AD FS、Ping或任何其他解决方案。我可以使用本教程在我的开发环境中使用SSO,但这确实给我留下了最后一个问题。我们的客户希望我们提供本教程中未涉及的实体ID。据我所知,它基本上是一个指向控制器的URL,该控制器将生成/返回Shibboleth SAML断言。想法?entityid是唯一标识应用程序的URI。它不必是URL。断言使用者是使用传入令牌的端点/URL。感谢您提供的信息!现在我正在学习一个教程,实际上我学到了很多东西,我想今天下午我会有一个有效的解决方案。谢谢你提供的信息!现在我正在学习一个教程,实际上我学到了很多东西,我想今天下午我会有一个有效的解决方案。