我在foo.com上有一个应用程序,它为“插件”小部件提供javascript,并成功接收并响应来自脚本的JSON API请求。该脚本由foo.com提供,但嵌入到bar.com中。
JSON API,插件脚本和JSESSIONID cookie都是来自foo.com的第一方,执行上下文是第三方,bar.com。
问题:我的问题是foo.com JSESSIONID没有被发送回服务器,因此插件脚本(来自foo.com)总是会获得一个新会话,并且无法保持记录状态进入foo.com。
我很感激任何将JSESSIONID发送回foo.com的帮助。
一些细节:
jQuery从bar.com提供,并由foo.com上的脚本用于发送请求。
在我的开发平台上,foo.com和bar.com在不同的非标准端口(84和8080)上运行。
一般而言,相同的原始政策似乎适用,并且在foo.com上设置Access-Control-Allow-Origin为*以允许bar.com访问foo.com。
只要来自插件的HTTP请求包含JSESSIONID,bar.com甚至foo.com的脚本都不需要读取cookie。