我想在我的网站中随时随地加载Cookie,因为当我的RoR应用程序收到并接受“外部”HTTP请求(例如:REST API)时,不会加载Cookie(请参阅RFC2109)。所以他们的价值观无法实现。
只有在我的应用程序中“内部”发出HTTP请求时才能访问Cookie。
答案 0 :(得分:2)
new_cookies = {"Cookie" => "mycookie=1234;myothercookie=4567"}
Net::HTTP.get( URI.parse( http: //app1.website.com/users ), new_cookies)
答案 1 :(得分:1)
所有浏览器都会自动发送您从域中设置的任何Cookie,只需从任何控制器方法调用request.cookies
即可查看。请求是否是从您的应用程序中启动(例如302重定向)并不重要。
答案 2 :(得分:1)
我刚用Firecookie尝试过这个:
浏览器会自动发送cookie,服务器永远不会要求将cookie发送给它。
答案 3 :(得分:0)
REST API通常是无状态的,因此您应该避免使用服务器端会话或客户端Cookie。如果要表明用户只抓取属于它们的资源,请使用Rails嵌套资源方法,这会产生如下调用:
http://abc.com/user/user001/books
适用于属于user001的所有图书。
如果您希望实现安全性,首先必须使用HTTPS而不是HTTP。对于实际实现,您可以使用基本身份验证并在请求标头中设置用户名/密码,或者您可以使用类似OAuth的内容,为每个请求传入的用户设置令牌。