Проблема, с которой я столкнулся, заключается в том, что не может иметь возможность включать файлы cookie в мои запросы уровня реакции-ретрансляции на уровне сети в поле реакции-нативной. Я установил fetchOpts.credentials на include (я также попробовал same-origin , но это тоже не сработало). Я пытаюсь проверить это на моем симуляторе iOS.
Вот промежуточное ПО, которое я использую в своей среде response-relay-network-layer.
// Grab cookie from store and set with cookiemanager
next => async req => {
const cookieVal = await getCookie(); // RETURNS the Set-Cookie string (unformatted since response)
// iOS requires a dict
if (Platform.os === 'ios') {
cookieToSet = { 'Set-Cookie': cookieVal }
} else {
cookieToSet = cookieVal;
}
console.log(cookieToSet); // This console.logs the expected result!
// Note: The backend url is `http://localhost:5000`, however make graphql reqs to: `http://localhost:5000/graphql`
const setCookieRes = await setCookieFromResponse('http://localhost:5000', cookieToSet);
console.log(setCookieRes); // // This is ALWAYS undefined? Why though?
},
// Make the request & grab the Set-Cookie header if it's available
next => req =>
next(req).then(async res => {
const cookieVal = res.headers.get('set-cookie');
if (cookieVal) {
const splitCookieHeaders = cookieParser.splitCookiesString(cookieVal);
const cookies = cookieParser.parse(splitCookieHeaders, {
decodeValues: true,
map: true,
})
let cookieToSet = '';
// iOS requires a dict
if (Platform.os === 'ios') {
cookieToSet = { 'Set-Cookie': cookieVal }
} else {
cookieToSet = cookieVal;
}
const setCookieRes = await CookieManager.setFromResponse(
'http://localhost:5000',
cookieToSet
);
console.log(setCookieRes); // This is ALWAYS undefined?
}
After making another request the cookies aren't included?!
....