을 클라이언트로 사용하여 및 express-session
을 설정하여 Express
에게 요청을 보냅니다. 그러나 React가 Express 서버에 요청할 때마다 새로운 세션이 만들어집니다. 그래서 나는 수동으로 동일한 API URL에 수동으로 액세스하여 익스프레스 만 확인하고 페이지를 새로 고칠 때마다 동일한 세션을 계속 사용합니다.React가 Express로 보내기 요청을 할 때마다 새로운 세션이 생성됩니다.
프로젝트 구조 :
project-folder
- client // React client with proxy set up
+ src
+ package.json
+ ...
- server.js
- package.json
server.js
내부 : 여기
const session = require('express-session');
let sessionConf = {
name: 'aoid',
secret: 'stackoverflow',
resave: true,
saveUninitialized: true,
rolling: true,
cookie: {
httpOnly: false,
secure: false,
maxAge: 2000000
}
};
app.use(session(sessionConf));
app.get('/api/prod', (req, res, next) => {
let sessionId = req.sessionID; // is generated each time React client send request, works fine with api alone!
console.log(sessionId);
if (!sessionId) return res.status(401).send('Unauthorized Error');
res.status(200).send({ data });
});
는 클라이언트가 표현하기 위해 요청을 보내 어떻게 반응이다 :
let loadItems = async() => {
const response = await fetch('/api/prod');
const body = await response.json();
if (response.status !== 200) throw Error(body.message);
return body;
}
나는 문제가 잘못에서 오는 생각 React와 Express 사이. 누구든지 전에이 문제가 있었나요?
당신이 쿠키가 제대로 전송되고 있는지 확인 할 수 있습니까? – azium
@azium 귀하의 질문에 동의하지 않았습니다. 하지만 물어 줘서 고마워, 그 시간에 내 문제는 :) 해피 뉴 이어! –