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