Различный заголовок Set-Cookie в ответе на выборку из приложения Reaction-native в iOS и Android - PullRequest
0 голосов
/ 08 февраля 2019

Странно, но я не вижу некоторые заголовки cookie-файлов с моего экспресс-сервера в приложении-реактиве только на устройствах с Android!

Я использую экспресс на моем сервере node.js

const express = require('express');
const csrf = require('csurf');
const cookieParser = require('cookie-parser');
const session = require('express-session');
const bodyParser = require('body-parser');

app.use(cookieParser());
app.use(session({
    name: 'sid',
    secret: CONSTANTS.SESSION_SECRET,
    resave: false,
    saveUninitialized: true
}));

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());

const csrfProtection = csrf();
app.use(csrfProtection);

app.get('/', (request, response, next) => {
    response.cookie('csrftoken', request.csrfToken());
    response.status(200).send(...);
});

Я просто установил csrftoken cookie и отправил ответ;

На клиенте я просто получаю почтовую страницу первой:

fetch(URL_INDEX, {
    method: 'GET',
    headers: {
        'User-Agent': USER_AGENT,
        Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    }
}).then((response) => {
    //check response here <--------------------------------
    processCookies(response);
    return response;
})

Что я вижу в отладчике при получении ответа:

В IOS

Headers
  map:Object
    connection:"keep-alive"
    content-length:"11716"
    content-type:"text/html; charset=utf-8"
    date:"Fri, 08 Feb 2019 10:58:25 GMT"
    etag:"W/"2dc4-Ew7HRSMcOHECQlBtXIfAuuPw/Vs""
    set-cookie:"csrftoken=bzKoDm5w-CdiLpGk0NWZ1TxaACRNJoRvVeng; Path=/, sid=s%3AGLvycaobuCL7xyIiNRBCXHSZU3SmHmAJ.vv9dzPurvicFvMb%2FkeB9Lshy6ZAQ0SvsMm8cR2ij9O8; Path=/; HttpOnly"
    x-powered-by:"Express"

В Android

Headers
  map: Object
    connection:"keep-alive"
    content-length:"11716"
    content-type:"text/html; charset=utf-8"
    date:"Fri, 08 Feb 2019 10:52:52 GMT"
    etag:"W/"2dc4-Ew7HRSMcOHECQlBtXIfAuuPw/Vs""
    set-cookie:"sid=s%3AOgeCB1Xsu8yA0SKiXF5Xgdc5pE-gSjfs.cDNHgzc41X1JmnUKmY6Hn3J2%2BrjxbXpBt7%2FhXwN6HbQ; Path=/; HttpOnly"
    x-powered-by:"Express"

Как вы можете видетьФайл cookie csrftoken существует в ответе на ios, но мы не видим его на Android.

Есть идеи?

...