2013-10-06 93 views
0

ClientSiteA.com,ClientSiteB.com,....哪种SSO工具最适合这种情况?

(客户端领域是未知的我们)

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

我们需要的用户可能够在任何客户站点上的OurServer.com(使用JavaScript)上登录。登录表单必须驻留在客户站点上。所以我设想一个发送到OurServer.com的ajax调用,包含用户名(来自任何客户端站点)。如果用户名登录,让他们做的东西,如果不显示他们的登录表单。这个登录表格会将他们的用户名/密码发送到服务器并登录。

这可能吗?我一直在阅读关于SAML的内容,但我看到客户端网站上的登录表单可能会成为问题。我也一直在阅读oAuth。我很迷茫。任何人都可以给我一些指导。

+0

登录表单实际位于客户端的原因是什么? –

+0

原因是使登录过程更容易。我可以做一个iframe或我猜测的东西。 – tlovett1

回答

2

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

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

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

试图说服你,这不是一个好主意 - 并非所有的OAuth2提供者都支持这种流程,而我记得Google并没有这样做。取而代之的是,它们所支持的客户端重定向到其登录页面,在这里他们可以执行一切事情流动您的客户端应用程序是不知道的,如:

  • 多因素身份验证
  • 附加的确认页明确的资源访问批准

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

+0

重复使用同一用户界面的原因是因为我正在为用户分发安装在他们网站上的软件。 – tlovett1

+0

您不必,他们可以重定向到您的网站。无论如何,如果您仍然坚持,OAuth2资源所有者可能是一种适合您的方式。 –

+0

你能解释“重定向”是什么意思吗?我愿意接受不同的工作流程。我只是希望这是最好的用户体验。 – tlovett1

相关问题