不能使用Express Session / Passport和REACT设置cookie

时间:2016-11-18 14:36:56

标签: express-session

我无法理解如何在后端设置REACT中的cookie(连接sid)。

我有护照本地策略

这是我的server.js

app.use(cookieParser());
app.use(session({
  resave: true,
  saveUninitialized: false,
  secret: 'bla bla bla',
  cookie: { httpOnly: false }
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

这是我的route.js

app.post('/login', (req, res, next) => {
    passport.authenticate('local-login', (err, user, info) => {
        if (err) { return res.send(err); }
        if (!user) { return res.send(info); }
        req.logIn(user,(err) => {
            if (err) { return next(err); }
            return res.send({status: true, user});
        });
    })(req, res, next);
});

app.post('/test', isLoggedIn, (req, res) => {
    res.send('Logged User')
});

这是我的反应文件

componentWillMount() {
        axios({
            method: 'post',
            url: 'http://localhost:8080/test',
        }).then(({data}) => {
            console.log(data);

因此,当我使用邮递员时,一切正常,我可以登录,我的LoggedIn功能正常工作,如果我使用我的浏览器和我的路线一样。

问题是当我使用React ..我可以登录,我收到的确切是我想要的但没有任何东西存储在我的cookie中,我不知道该怎么做..

我对React有点新意,所以如果有人有线索的话......

由于

0 个答案:

没有答案