跨域cookie Rails 3

Som*_*ory 5 cookies ruby-on-rails cross-domain ruby-on-rails-3

我想知道是否有可能在另一个域而不是我当前的应用程序域名下获取cookie?

我正在构建一个访问另一个网站的API的应用程序.如果用户已从其他站点登录,我的浏览器将在该域名下创建cookie.例如,用户在www.example.com下登录,我的浏览器将存储cookie: cookies['token']在www.example.com域下.当用户访问我的网站www.mywebsite.com时,如何在我的rails服务器上获取www.example.com下的cookie?

任何帮助都非常感谢.

Bra*_*ugh 4

这是可以做到的,但它需要客户、您的网站和您的其他网站一起工作。您有一个知道如何对站点 A 进行身份验证的客户端。它希望将站点 B 作为它知道如何对站点 A 进行身份验证的用户来查看。实现此目的的基本方法是让客户端联系站点 A,对自身进行身份验证,从站点 A 获取站点 B 可以信任的令牌,然后将该令牌交给站点 B。

实际上,您想要构建一个非常具体的 OpenID 或 OAuth 案例。这当然是可能的,但您需要对 www.example.com 进行一些更改才能使其正常运行。如果你能做到这一点,那就太好了。

首先阅读有关 OAuth 的所有内容。您不需要完全使用它(尽管您可以),但它将有助于解释您需要做什么: http: //hueniverse.com/oauth/

  • 不可以。跨域 cookie 基本上是不允许的。我正在描述一种解决您的需求的方法,而不是启用跨域 cookie 的方法。有一个例外:您可以在站点 B 上嵌入一个 iframe,以呈现站点 A 生成的内容。这将允许站点 A 读取和处理站点 A 的 cookie,但用户会认为他们正在使用站点 B。但是,仍然存在无法在这些 iframe 之间进行通信。直接跨域cookie是根本不可能的。 (2认同)