哪种SSO工具最适合这种情况?

时间:2013-10-06 18:10:03

标签: oauth single-sign-on saml

ClientSiteA.com,ClientSiteB.com,....

(我们不知道客户域名)

OurServer.com (包含所有用户凭据)

我们需要用户能够在任何客户端站点上使用OurServer.com(使用JavaScript)登录。登录表单必须驻留在客户端站点上。所以我设想发送到OurServer.com的ajax调用包含用户名(来自任何客户端站点)。如果用户名已登录,请让他们填写内容,如果没有显示登录表单。此登录表单将其用户名/密码发送到服务器并将其登录。

这可能吗?我一直在阅读有关SAML的内容,但我发现客户端网站上的登录表单可能存在问题。我也一直在读oAuth。我很丢失。任何人都可以给我一些指导。

1 个答案:

答案 0 :(得分:2)

我认为在多个站点上重复使用相同的UI并不容易,这使得维护变得更加困难。

另一方面,如果用户有明确的登录链接,或者在访问受限制的站点时会自动重定向,那么就不需要这个笨拙的要求了。尴尬 - 因为它使用现有的sso协议变得棘手。

回答您的问题 - OAuth2允许您为访问令牌交换用户名/密码。它被称为资源所有者密码凭据流程。

试图说服你这不是一个好主意 - 并非所有OAuth2提供商都支持这种流程,而我记得谷歌没有。相反,它们支持将客户端重定向到其登录页面的流程,在这些流程中,它们可以执行客户端应用程序不知道的任何内容:

  • 多重身份验证
  • 显式资源访问批准的其他确认页面

这些额外的身份验证步骤在简单的用户名/密码流中是不可能的。