Файлы cookie не хранятся в Fetch
Я прочитал все остальные темы, которые мог найти по этому вопросу, и ни одно из решений не сработало. Я использую React + Redux + Express и пытаюсь сохранить JWT в файле cookie в соответствии с:
https://auth0.com/blog/2015/09/28/5-steps-to-add-modern-authentication-to-legacy-apps-using-jwts/
В моем действии Redux я отправляю следующий запрос:
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 и безопасности и проблемах с использованием localhost. Я также попробовал в каждом крупном браузере и не повезло.
Что тут происходит?