设计/ CAS接口上的单一登录

时间:2011-07-07 20:41:03

标签: facebook single-sign-on cas

我正在创建一个允许用户通过其Web应用程序与其进行交互的SaaS。我想创建一个模仿Facebook连接的CAS类型登录,这样当您单击用户网站上的“登录”按钮时,它将弹出一个窗口,供您使用我的SaaS凭据登录。

我不希望SaaS用户站点能够访问用户登录凭据,因此这就是我想到CAS的原因。但是,它看起来不像Facebook Connect重定向到CAS服务器。看起来他们只是弹出一个窗口到facebook登录,然后在用户成功登录到facebook后创建一个cookie。那么Facebook Connected网站如何访问该cookie?

我希望基本上能够将最终用户保留在当前网站上,而不会被重定向到我的登录应用程序。我想模仿facebook做什么只是弹出一个小窗口并让他们登录然后在登录后刷新页面但是我不知道该怎么做。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

Facebook使用第三方Cookie:他们在您的域中设置了一个cookie,您可以访问该cookie以获取必要的凭据。

编辑:最简单的例子是查看PHP的setcookie函数。请注意,有一个domain参数。如果您更改域以匹配启动身份验证操作的实际网站的域,则您将能够设置第三方cookie。

请注意,在IE上,某些标头启动了身份验证操作的域需要设置为允许设置第三方Cookie。请参阅http://www.spamcollect.com/archives/33,了解其工作原理的简短说明。

如果您使用其他语言,则需要使用他们提供的任何Cookie管理功能。

答案 1 :(得分:0)

另一种选择可能是使用REST客户端以编程方式执行此操作。

https://wiki.jasig.org/display/CASUM/RESTful+API

通过这种方式,您可以获取用户详细信息并登录CAS,而无需重定向。

答案 2 :(得分:0)

Facebook使用我将使用的跨域通信。