3
我已閱讀每一個其他話題,我可以找到這個和沒有解決方案的工作。我使用的陣營+終極版+快遞,並試圖在cookie存儲JWT按:Cookie未被存儲與提取
https://auth0.com/blog/2015/09/28/5-steps-to-add-modern-authentication-to-legacy-apps-using-jwts/
在我的終極版動作我發送以下請求:
export function getCookie(token) {
const config = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token
},
body: JSON.stringify({ token })
};
return fetch('http://127.0.0.1:4000/authorize-cookie', config)
.then((res) => {
return res.json();
})
.then((resJson) => {
return resJson;
})
.catch(err => console.log('Error: ', err));
}
而且在服務器我在迴應...
app.post('/authorize-cookie', authenticate, (req, res) => {
res.cookie('id_token', req.body.token, {
maxAge: 360000
});
res.status(200).send({ message: 'Cookie set!' });
});
...其中authenticate是驗證令牌的函數。
一切似乎罰款與我的響應頭:
HTTP/1.1 200 OK
Set-Cookie: id_token=xxx.xxx.xxx; Max-Age=360; Path=/; Expires=Tue, 12 Jan 2016 01:24:03 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 25
ETag: W/"19-UA3htFr0PWczMQBN6T4NpA"
Date: Tue, 12 Jan 2016 01:18:03 GMT
Connection: keep-alive
但是當我檢查源選項卡中有沒有被發現的cookie。我已閱讀關於關閉httpOnly和安全和使用本地主機的問題。我也嘗試過所有主流瀏覽器,但沒有運氣。
這是怎麼回事?
你的cookie有'Max-Age = 360'(這意味着6分鐘)。它可能過期如此之快? –
我已經嘗試過將其改爲幾小時和幾天,但仍然沒有運氣。 – Andrew
正如我所看到的,你將要'http://127.0.0.1:4000'。它實際上是一個域,您的網頁打開?在交叉來源請求期間,您無法保存cookie。 –