Jak udostępniać pliki cookie z różnych źródeł? Dokładniej, jak używać Set-Cookie
nagłówka w połączeniu z nagłówkiem Access-Control-Allow-Origin
?
Oto wyjaśnienie mojej sytuacji:
Próbuję ustawić plik cookie dla interfejsu API, który działa localhost:4000
w aplikacji sieci Web, która jest hostowana localhost:3000
.
Wygląda na to, że otrzymuję odpowiednie nagłówki odpowiedzi w przeglądarce, ale niestety nie mają one znaczenia. Oto nagłówki odpowiedzi:
HTTP / 1.1 200 OK Access-Control-Allow-Origin: http: // localhost: 3000 Różne: pochodzenie, akceptacja-kodowanie Set-Cookie: token = 0d522ba17e130d6d19eb9c25b7ac58387b798639f81ffe75bd449afbc3cc715d6b038e426adeac3316f0511dc7fae3f7; Max-Age = 86400; Domena = localhost: 4000; Ścieżka = /; Wygasa = wt., 19 września 2017 21:11:36 GMT; HttpOnly Content-Type: application / json; charset = utf-8 Długość treści: 180 ETag: W / "b4-VNrmF4xNeHGeLrGehNZTQNwAaUQ" Data: pon., 18 września 2017 r., 21:11:36 czasu GMT Połączenie: utrzymuj przy życiu
Co więcej, widzę plik cookie pod, Response Cookies
gdy sprawdzam ruch za pomocą karty Sieć w narzędziach programistycznych Chrome. Jednak nie widzę, aby plik cookie został ustawiony na karcie Aplikacja poniżej Storage/Cookies
. Nie widzę żadnych błędów CORS, więc zakładam, że brakuje mi czegoś innego.
Jakieś sugestie?
Aktualizacja I:
Używam modułu żądania w aplikacji React-Redux do wysyłania żądania do /signin
punktu końcowego na serwerze. Do serwera używam express.
Serwer ekspresowy:
res.cookie ('token', 'xxx-xxx-xxx', {maxAge: 86400000, httpOnly: true, domain: 'localhost: 3000'})
Żądanie w przeglądarce:
request.post ({uri: '/ signin', json: {nazwa_użytkownika: 'userOne', hasło: '123456'}}, (err, response, body) => { // Robi coś })
Aktualizacja II:
Ustawiam teraz nagłówki żądań i odpowiedzi jak szalone, upewniając się, że są one obecne zarówno w żądaniu, jak i odpowiedzi. Poniżej zrzut ekranu. Zauważ, nagłówki Access-Control-Allow-Credentials
, Access-Control-Allow-Headers
, Access-Control-Allow-Methods
i Access-Control-Allow-Origin
. Patrząc na problem, który znalazłem na githubie Axiosa , mam wrażenie, że wszystkie wymagane nagłówki są już ustawione. Jednak nadal nie ma szczęścia ...