我对最近遇到的使用部分域名cookie的问题感到困惑。我在我的应用中使用部分域cookie来管理单点登录方案。一切正常,直到我碰巧尝试使用Google App Engine域appspot.com
。
尽我所能,我无法让浏览器接受appspot.com
作为部分域Cookie。这是我发送的HTTP响应头:
foo=bar;Path=/;Domain=.appspot.com
如果我的应用位于http://my.appspot.com
,则浏览器会忽略设置的Cookie。我可以使用其他域(例如google.com
)执行此操作,一切都很顺利(我正在使用我的hosts文件将浏览器定向到我的mac)。当我在本地,App Engine或其他任何地方运行它时,它会失败。
我想不出这个域名会有什么特别之处。有没有人有任何想法?
答案 0 :(得分:7)
我相信this可能会回答你的问题。
引用:
我测试了。子域的页面不可能创建 父域的cookie。因此这个问题不存在。
可能有所帮助的进一步澄清;根据{{3}} Google网上论坛帖子:
看来我无法使用domain = .appspot.com
设置Cookie当我这样做时,它不会出现在cookie列表中。我可以设定 .appspot.com(domain = foo.appspot.com)的子域中的cookie但是 不在appspot.com上。
Jon McAlister的回复:
这是因为appspot.com被添加到公共后缀列表中 现代浏览器不允许为以下内容设置Cookie的域: 看到 this