【发布时间】:2017-09-30 12:01:49
【问题描述】:
我有一个反应应用程序,它使用 java ee 后端休息服务器,在另一个域上运行。我已启用 CORS:
Access-Control-Allow-Origin : http://localhost:3000
Access-Control-Allow-Headers : origin, content-type, accept, authorization
Access-Control-Allow-Credentials : true
Access-Control-Allow-Methods : GET, POST, PUT, DELETE, OPTIONS, HEAD
Access-Control-Max-Age : 1209600
我正在使用这样的 fetch 反应:
export function get(path, headers) {
return fetch(apiUrl + path, {
"metod" : "GET",
"headers" : headers,
"credentials" : "include"
})
}
我的 react 应用在 http://localhost:3000 上运行。
当我登录时,服务器返回 Set-Cookie,但 cookie 不包含在对服务器的任何进一步请求中,除非我再次尝试登录。然后它包含在特定的登录请求中。
有什么建议吗?
【问题讨论】:
-
cookie 在有效期、域、路径等方面是否有效?
-
服务器正在返回这个cookie
Set-Cookie: kek=qel4h9n27ov9ratshdrnqhrrhr; Version=1; Discard,所以我相信吗? -
尝试为 cookie 设置显式路径
/(另外,如果你想设置多个 cookie,我相信你应该使用多个Set-Cookie标头)。 -
我尝试更改路径,但结果相同。饼干:
Set-Cookie:kek=9rev41dpo3eq337m389bb9mbe5; Version=1; Path=/; Domain=http://localhost:8080; Max-Age=100000。我只使用一个 cookie。
标签: reactjs cookies fetch cross-domain