set-cook ie возвращается в заголовках ответа, происхождение cors не имеет подстановочных знаков, но cook ie не сохраняется в браузере - PullRequest
1 голос
/ 11 июля 2020

Этот вопрос задавали миллион раз, но я все перепробовал, и ничего не вышло.

Моя ситуация:

Я развернул узел / express бэкэнд как сервис Google Cloud Run. Я запускаю свой интерфейс локально, пытаюсь войти в свой сервер в облаке. Фронтенд обслуживается по http, бэкэнд по https. Я включил корс на бэкэнде. Моя конфигурация:

app.use(cors({
    origin: 'http://localhost:3000',
    credentials: true,
}));

Я использую axios, и я установил withCredentials: true:

axios.defaults.baseURL = ApiURL;
const { data } = await axios({
    method: 'post',
    url: `/api/login`,
    data: {
        username: this.state.username,
        password: this.state.password,
        keepLoggedIn: this.state.keepLoggedIn,
    },
    withCredentials: true,
});

Эта настройка отлично работает, когда я запускаю свой бэкэнд локально, но Корса конечно нет. Когда я пытаюсь войти в систему, когда интерфейс указывает на службу Cloud Run, я получаю ответ от серверной части с заголовком set-cookie, как и ожидалось, но Cook ie никогда не появляется в разделе Storage> Cookies Chrome dev console, как и с моим локальным сервером. Тогда, конечно, ничего не отправляется с остальными моими запросами на топор ios, которым нужен ie.

Я занимаюсь этим целый день, и это сводит меня с ума. Я уверен, что мне не хватает чего-то простого. Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...