Cookies was not sent when the request come from front-end

Viewed 92

I am following Ben Awad full stack tutorial with same stack (

  • React
  • TypeScript
  • GraphQL
  • URQL/Apollo
  • Node.js
  • PostgreSQL
  • MikroORM/TypeORM
  • Redis
  • Next.js
  • TypeGraphQL
  • Chakra
  • ) But newer versions (the video was 2 years old), in 2:59:59, according to the video, when we make a register request through browser(client side) the qid cookies was supposed to get sent automatically but it doesn't work for me. Things work fine when I make request through my server (localhost port 5000, redirect to https://studio.apollographql.com/sandbox/explorer) but when it come to browser I successfullyy register the user but the cookies was not saved.

Here is the code I built in my server to set the cookies (redis connected):

   app.use(
cors({
  origin: ["http://localhost:3000", "https://studio.apollographql.com"],
  credentials: true,
})

)

app.set("trust proxy", true);

app.use(
  session({
    name: "qid",
    store: new RedisStore({ client: redisClient, disableTouch: true }),
    cookie: {
    maxAge: 1000 * 60 * 60 * 24 * 365 * 10, //10 years
    httpOnly: false,
    sameSite: "none",
    secure: true, // cookie only works in https
  },
  saveUninitialized: false,
  secret: "123456789",
  resave: false,
 })
);

Thanks guys and I appreciate you guys a lot.

1 Answers

I solved it: set sameSite: 'none' when you want to save cookie through sandbox and lax when you want to save it with browser.

Related