如何通过登录凭据从foo.com到bar.com安全


How to pass login credentials from foo.com to bar.com securely?

我有两个网站https://www.foo.com和https://www.bar.com。Bar.com是实际的应用程序,但foo是客户希望申请人登录的地方。历史上我已经登录在www.bar.com,但现在希望创建一个表单上的foo.com登录到bar.com,传递登录到bar.com安全。如果在foo.com中输入的信息有错误,我想重定向到bar.com。

[两个网站都是https]

我已经为客户建立了一个表单,但肯定不想以明文发送密码。

澄清该表单将提供给多个客户端,然后他们将在自己的页面上登录到实际的应用程序。客户是SaaS,他们不再希望"做所有提升"的公司是他们的客户登录的

听起来似乎不需要为此提供任何复杂的服务器端解决方案。只需将表单从bar.com复制到foo.com,并将form元素的action属性修改为从https://bar.com/开始。可能不需要进行其他更改,而且这与直接登录bar.com一样安全。

您不想在站点之间传递凭据。这本质上是不安全的。您需要的是允许集中身份验证和访问控制的单点登录(SSO)解决方案。

阅读SSO:

http://en.wikipedia.org/wiki/Single_sign-on

CAS是一种流行的SSO,您可以使用多种语言。

如果你使这两个网站http://www.foo.com和http://secondsite.foo.com,那么你可以共享一个登录cookie之间的两个网站(根植于"foo.com"),用户可以自由地去两个网站之间,登录在任一个。

有一些javascript md5加密函数可以在发送到http://bar.com/login之前加密您的密码。如果选择这种方法,请注意这些函数有错误,并且生成的一些哈希值不正确。

我个人会选择使用ssl,因为这是最安全的方式。