我正在使用NodeJS构建一个API RESTful项目,Express&护照。对于此应用程序的前端,我想使用ReactJS
。
我可以创建一个单独的项目,使用create-app-react for my frontend并获取我的API,同时保留Passport的好处吗?或者我应该在我的请求中始终发送用户的信息?或者在API的同一台服务器上提供我的前端?
答案 0 :(得分:1)
是的,你可以拥有一个客户& 2个不同端口上的服务器,并保留Passport的好处。
但是,为此,当您fetch
API使用credentials : 'include'
因为默认情况下,fetch不会从服务器发送或接收任何Cookie,如果网站依赖于维护用户会话,则会导致未经身份验证的请求(要发送Cookie,必须使用凭据init选项)设定)。
示例:
fetch('https://example.com', {
credentials: 'include'
})
.then( res => {
// Some stuff...
})
.catch(err => {
console.log(err);
});