Mam dwie oddzielne usługi, jedną stronę aplikacji React
i express
API i próbuję komunikować się z SPA do interfejsu API przy użyciu nowej funkcji fetch
. Ponieważ obie usługi znajdują się w różnych domenach, używam oprogramowania pośredniego CORS wewnątrz aplikacji express
w celu wysyłania żądań z SPA do interfejsu API. Staram się, aby wszelkie fetch
wnioski obejmują również ciasteczka więc w ten sposób mogę zweryfikować cookies w mojej aplikacji express
npTrudności z wysyłaniem plików cookie z żądaniami pobierania w JavaScript
po stronie klienta:
fetch('http://localhost:8000/hello', {
credentials: 'include',
mode: 'cors'
}).then(/* ... */)
Po stronie serwera:
var app = express();
app.use(cors({ credentials: true });
app.use(cookieParser());
app.get('/hello', function (req, res) {
// Try and find the cookies sent with the request
console.log(req.cookies);
res.status(200).json({ message: 'cookies received!' });
});
Jednak niezależnie od tego, co próbuję, nadal nie mogę uzyskać dostępu do plików cookie na obiekcie request
, mimo że mogę uzyskać do nich dostęp za pomocą document.cookies
.
Przykładem cookies:
name: token
value: TOKEN_VALUE
domain: localhost
path:/
http: false
secure: false
Czy ktoś ma sugestie dotyczące sposobu podejścia do tego? Każda pomoc będzie bardzo ceniona!
jest to tylko literówka, że nie masz zamykający cytat po 'mandatów:„include'? Również masz JSFiddle lub Pnkr? – Trevor
Tak, przepraszam! Tylko literówka. I niestety nie, ponieważ dotyczy on komponentu po stronie serwera. –
Czy możesz udostępnić swój kod po stronie klienta. Mogę stworzyć własny serwer. – Trevor