Passport js fails to maintain session in cross-domain

前端 未结 3 1638
半阙折子戏
半阙折子戏 2020-12-08 08:39

I am using passport JS, express and mongoose to make an API. When I test it in same domain it maintain session and works fine. But in cross domain it fails. Any clue how can

3条回答
  •  隐瞒了意图╮
    2020-12-08 09:26

    I was having the same problem. Before configuring anything in express app, use the following(exactly the same) to set header of response for cross-domain :

    app.use(function(req, res, next) {
    res.header('Access-Control-Allow-Credentials', true);
    res.header('Access-Control-Allow-Origin', req.headers.origin);
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
    res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept');
    if ('OPTIONS' == req.method) {
         res.send(200);
     } else {
         next();
     }
    });
    

    It works for me. Best of luck!

提交回复
热议问题