Не передаются куки при использовании cloudflare с heroku и vercel
Использую express, куки задаю следующим образом:
const app = express();
const RedisStore = connectRedis(session);
const redis = new Redis(process.env.REDIS_URL);
app.set("trust proxy", 1);
app.use(
cors({
origin: process.env.CORS_ORIGIN,
credentials: true,
})
);
app.use(
session({
name: COOKIE_NAME,
store: new RedisStore({
client: redis,
disableTouch: true,
}),
cookie: {
maxAge: 1000 * 60 * 60 * 24 * 365 * 10, // 10 yrs
httpOnly: true,
sameSite: "lax",
secure: true,
path: "/",
domain: __prod__ ? "api2.balda.tk" : undefined,
},
saveUninitialized: false,
secret: process.env.SESSION_SECRET!,
resave: false,
})
);
Сервер задеплоен на heroku (бесплатный тариф), на нем стоит redis heroku и postgres heroku. Подключил бесплатный домен на freenom, подключил cloudflare.
Должны при вызове функции с сервера задаваться куки, но они не появляются ни с клиента, ни когда я запускаю через graphql playground.
Ответ от сервера следующий:
access-control-allow-credentials: true
access-control-allow-origin: https://game.balda.tk
alt-svc: h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; ma=86400
cf-cache-status: DYNAMIC
cf-ray: 6617b9ac0d0b19df-EWR
cf-request-id: 0ac2b25f8a000019df5201f000000001
content-length: 37
content-type: application/json; charset=utf-8
date: Fri, 18 Jun 2021 21:49:02 GMT
etag: W/"25-TJI2KdqmCv7Conv/RLLLbPNtJ+w"
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
nel: {"report_to":"cf-nel","max_age":604800}
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v2?s=sqzEHEmoJZSWL1NTn2Es9P5DcyHystzbIcacRks4%2FcfGl1BIy3EgvbALmj1GNRjNscIZYSyYaTocjAQ6S7MUg2b6ZUSfbcaOSiSOqxxAjR8nykxhQC7qsbbEKA%3D%3D"}],"group":"cf-nel","max_age":604800}
server: cloudflare
vary: Origin
via: 1.1 vegur
x-powered-by: Express