我正在使用反应,快递和通行证来管理身份验证流程。
最近,我在Heroku中将前端和后端分离为两个应用程序,并且试图将双方连接起来(之前在服务器文件夹中有一个client文件夹)。在本地进行测试时,我的后端在登录http://localhost:5000/auth/current_user后才能工作,但是当我使用axios并通过redux操作进行调用时,它不会返回任何响应。
这是我的正面代码:
icd10
当我登录后端查看是否有会话时,我得到export const fetchUser = () => async dispatch => {
try {
const res = await axios.get(
process.env.REACT_APP_API_URL + "/auth/current_user"
);
console.log("fetchUser: ", res);
dispatch({ type: FETCH_USER, payload: res.data });
} catch (e) {
if (e.response) {
console.log("fetchUser:", e.response);
}
}
};
作为响应。有时候,我会随机获得护照信息{}
{ passport: { user: '5da9b04eb086af53103ec4e9' } }
来自Chrome的标题如下(无任何响应...): Chrome headers
如果有人可以帮助我,那将很棒!
谢谢!
答案 0 :(得分:0)
我终于找到了解决该问题的方法……似乎是CORS问题。我不太清楚,但是会研究。
所以,部分地,解决方案是在以下答案中:Express + Passport.js: req.user is UNDEFINED
这样,cookie就会出现在我的控制台日志的正面。为了充分发挥作用,我必须将原始域添加到cors。
最后,我在服务器端添加了我的index.js:
#include "fortran.h" // Not a system include for me, so changed to " "
real function f() CODE
return 0.0;
endfunction
program(main)
IF 3 == 3 THEN
PRINT(*) "Your PC is fine.";
ELSEIF 3 == 4 THEN
PRINT(*) "Your PC is broken.";
ELSE
PRINT(*) "Your PC is trash.";
ENDIF
write(*, "(I)") 5);
END
我的axios的配置如下:
app.use(
cors({
methods: ["GET", "POST"],
credentials: true,
origin: "http://localhost:3000"
})
);
答案 1 :(得分:0)
除了所有这些,您还可以像这样使用cors npm。
npm install --save cors
var express = require('express');
var cors = require('cors');
var app = express();
app.use(cors());
/* your regular routes go here */