Cant handle Session's cookie when Safari/iOS

14 Views Asked by At

Browser cant send back the cookie when is safari/ios


const corsOpt = {
  origin: ['mydomain.com', 'http://localhost:5173'],
  credentials: true,
};

...

server.set('trust proxy', 1);
server.use(cors(corsOpt));

...

server.use(
  session({
    name: 'myCookie',
    secret: process.env.SEC ?? 'secret',
    resave: false,
    saveUninitialized: false,
    cookie: {
      secure: true,
      maxAge: 1000 * 60 * 60 * 24 * 30 * 30,
      sameSite: 'lax',
      httpOnly: true,
      domain: 'mydomain.com',
    },
  })
);

...

export const headersMiddleware = (
  req: Request,
  res: Response,
  next: NextFunction
) => {
  res.header('Access-Control-Allow-Origin', req.header('Origin') || '*');
  res.set('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
  res.set(
    'Access-Control-Allow-Headers',
    'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept'
  );

  next();
};

any help? i refactor the server to handle session instead of cookie at res for that, but cant find any solution

0

There are 0 best solutions below