跨多个域名使用Sinatra会话变量?

时间:2011-11-10 15:24:57

标签: ruby session sinatra session-state session-cookies

我正在构建一个Sinatra应用程序,需要使用会话变量来完成一个非常具体的事情。当用户查看启用SSL的页面时,会设置会话变量。

我正在使用Heroku的搭载SSL,因此SSL网址类似于https://myapp.heroku.com

但是,应用程序本身托管在我的网址myapp.com

有没有办法让我的会话变量(在ssl / heroku域名时设置)在我的域名上可用于我的应用程序?

2 个答案:

答案 0 :(得分:1)

不幸的是没有,因为cookie与域绑定。您需要做的是允许经过身份验证的用户使用https://foo.heroku.com域名,并为登录页面保留好域名&其他未经身份验证的页面。

那,或者为heroku的SSL插件支付20美元。

(我在http://appkickstand.com遇到了这个确切的问题,我选择只处理登录用户的heroku网址)

答案 1 :(得分:0)

您应该查找跨域Cookie手册,请查看this

但我没有看到很多理由通过安全通道设置cookie并稍后通过原始HTTP传输它,每个人都可以嗅探它。