Я пытаюсь разделить файл cookie httpOnly между двумя приложениями (Angular и Node.js), которые обслуживаются через механизм приложений Google.
У меня нет проблем при локальной работе:
- localhost: 4200 в Angular
- localhost: 4000 в NodeJS
Но когда приложение обслуживается из производственной среды GCP, cookie не сохраняется на клиенте.сторона.
Я предоставил необходимые параметры:
СТОРОНА КЛИЕНТА - ЗАПРОС УГЛОВАЯ:
return this.http
.post<any>(
<my-nodejs-request-url>,
{},
{
headers: { 'x-csrf-token': token },
withCredentials: true
}
)
.pipe(
map(token => token as string),
catchError((error: string) => throwError(error))
);
СТОРОНА СЕРВЕРА - УЗЕЛ JS:
app.use(
cors({
origin: 'https://<my-angular-application-url>.appspot.com',
credentials: true,
allowedHeaders: 'Origin, X-Requested-With, Content-Type, Accept, Authorization, Credentials, Cookie, Set-Cookie, x-csrf-token'
})
);
создан cookie
res.cookie('nameCookie', token, {
httpOnly: true,
sameSite: false,
secure: false,
expires: new Date(Date.now() + 900000)
});
Я сталкиваюсь с этой проблемой только на GCP.