1
我有两个应用程序,一个是Sinatra应用程序,另一个是Rails应用程序。我已经在Rails应用程序中设置了签名cookie,我需要将该cookie从浏览器发送到Sinatra。从Rails应用程序签名到Sinatra应用程序的Cookie
问题是如何在我的Sinatra应用程序中看到cookie的内容(如果cookie已签名)?
这些应用程序位于不同子域的相同域中。这是可能的甚至是安全的吗?
我有两个应用程序,一个是Sinatra应用程序,另一个是Rails应用程序。我已经在Rails应用程序中设置了签名cookie,我需要将该cookie从浏览器发送到Sinatra。从Rails应用程序签名到Sinatra应用程序的Cookie
问题是如何在我的Sinatra应用程序中看到cookie的内容(如果cookie已签名)?
这些应用程序位于不同子域的相同域中。这是可能的甚至是安全的吗?
你确实可以在子域之间共享cookie。您需要将Cookie域设置为.your-domain.com
请注意最前面的点,这很重要。
要阅读这些cookie,这两个网站必须共享cookie签名秘密。
在西纳特拉,你可以在机架设置:from Sinatra FAQ
use Rack::Session::Cookie, :key => 'rack.session',
:domain => 'foo.com',
:path => '/',
:expire_after => 2592000, # In seconds
:secret => 'change_me'
所以,你需要设置的秘密在你的Rails配置
的路径是什么一样
Rails.application.config.cookie_secret
?另外,在开发中,我需要将域名设置为localhost,我将如何设置域名?问题是,cookie是经过签名的,因此当我在sinatra应用程序上获得请求时,我查看request.cookie [“somecookie”]我从rails获取带符号的值,而不是我需要的实际值 – 2012-08-15 15:52:16