嗨,我正在开发一个使用 passport.js 进行身份验证的同构反应应用程序。
我的问题是请求可以来自客户端,也可以来自服务器。如果请求来自客户端,则它已通过身份验证并且一切正常。但是,如果请求来自服务器,则身份验证失败:(
服务器(为清楚起见删除了很多):
server.use('/api/data', require('./api/data'));
server.get('*', async (req, res, next) => {
await Router.dispatch({ path: req.path, query: req.query, context }, (state, component) => {
<div>
{component}
</div>
);
data.css = css.join('');
});
});
/api/数据:
router.get('/', auth.isAuthenticated, async (req, res, next) => {
res.status(200).send({result: 'working!'});
});
路线:
on('/route', async (state, next) => {
// RESP IS A REJECTED RESPONSE :(
const resp = await fetch('/api/data');
const data = await resp.json();
return <Component data={data} />;
});