我想知道是否可以在另一个域而不是我当前的应用程序域名下获取 cookie?
我正在构建一个访问另一个网站的 api 的应用程序。如果用户已经从其他站点登录,我的浏览器将在该域名下创建一个 cookie。例如,用户在 www.example.com 下登录,我的浏览器将存储一个 cookie:
cookies['token']
在 www.example.com 域下。当用户访问我的网站 www.mywebsite.com 时,如何在我的 Rails 服务器中获取 www.example.com 下的 cookie?
任何帮助都非常感谢。
最佳答案
这可以做到,但它需要客户端、您的网站和您的其他网站一起工作。您有一个知道如何向站点 A 进行身份验证的客户端。它希望将站点 B 视为它知道如何向站点 A 进行身份验证的用户。完成此操作的基本方法是让客户端联系站点 A,对其进行身份验证,从站点 A 获取站点 B 可以信任的 token ,然后将该 token 交给站点 B。
实际上,您希望构建一个非常具体的 OpenID 或 OAuth 案例。这当然是可能的,但是您需要对 www.example.com 进行一些更改才能使其正常运行。如果你能做到这一点,那就太好了。
首先阅读有关 OAuth 的所有内容。你不需要完全使用它(尽管你可以),但它会帮助解释你需要做什么:http://hueniverse.com/oauth/
关于ruby-on-rails - 跨域 cookie Rails 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10975445/