inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

express server cookie관련 질문 드립니다.!

471

Tk

작성한 질문수 7

0

indexRouter.get('/', (req: Request, res: Response, next: NextFunction) => {
console.log(req.cookies);
const {name, pwd} = req.cookies;
if (!name || !pwd) {
res.
sendFile(path.join(__viewPath, 'index.html'));
} else {
res.
send(`${name}님 환영합니다!`);
}
})
;

indexRouter.get('/login', (req: Request, res: Response) => {
const {name, pwd} = req.query;
const expire = new Date();
expire.setSeconds(30);
const cookieOptions = {
httpOnly: true,
expires: expire,
path: '/',
};

res.cookie('name', name, cookieOptions)
.
cookie('pwd', pwd, cookieOptions)
.
redirect('/');
});

기존 쿠키서버를 express서버로 적용해보는 과정인데요,
/login에서 받은 정보를 쿠키에 담고, redirect로 홈을 호출하고 있는데요,
문제는 홈에서 보시면 req.cookies에 쿠키가 담겨있을때가 있고, 없을때가 있습니다."
(console.log에서 쿠키값이 없을때: "
[Object: null prototype]{}" 쿠키값이 존재할때: "{test:"test"}")
혹시 쿠키가 클라이언트에게 전송되기전에 redirect가 먼저 발생하여 쿠키값이 없어, index.html을 내보내는걸까요?
6번 정도 시도한다고 가정할때 두번정도 쿠키값이 정상으로 전송되고, 나머지 4번 정도가 쿠키값이 없는 상태로 index가 호출됩니다;
(정상결과와 아닌것은 순서가 없습니다;; 운이 좋으면되고 안좋으면 안되는 느낌입니다...)
혹시 비동기 작업이랑 관련이 있을까여?

cookie express Sequelize mysql mongodb nodejs

답변 1

0

제로초(조현영)

네트워크 탭 보면서 set-cookie와 cookie 헤더가 존재하는지로 봐야할 것 같습니다. 리다이렉트 시에도 쿠키가 있어야 정상이긴 합니다.

0

Tk

네트워크 탭에서도 정상 결과면 set-cookie가 존재합니다.

0

Tk

쿠키값이 없어서 index.html을 내려준 화면에서도 response에 set-cookie를 포함하여 내려준것 같습니다..

0

Tk

문제를 찾았습니다.,.., new Date()가 문제더군요,..,

0

제로초(조현영)

아, setSeconds가 30으로 고정되어있네요. 30초 뒤가 아니라 말 그대로 30초로 고정해버려서 문제였을 겁니다.

0

Tk

맞습니다. setSeconds 메써드 기능 자체가 기존 세컨즈 값에 30초를 더한다고 생각했지만,

디버깅해보니 30초로 고정해버리네요. 답변 주셔서 감사합니다!

리눅스 노드 설치시 패키지

0

172

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

926

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2297

2

a[title] 질문드립니다

0

387

1

리뉴얼 강의 및 공부 방법

0

590

1

jwt decode

0

1138

1

node.js 교과서 3판 질문드립니다

0

397

1

passport와 jwt

0

438

1

리뉴얼 강의

0

428

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

359

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

490

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

511

2

nunjucks res.render('error'); 작동을 안합니다.

0

519

1

질문있습니다.

0

348

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3543

1

수업자료는 어디있나요?

0

374

1

질문 있습니디

0

245

1

multer 사용시 file 외 name값은 못받나용?

0

430

1

코드 중복 부분 질문드립니다.

0

303

1

api 만드는 이유 질문드립니다.

0

293

1

Strategy의 done에 대해 질문드립니다.

0

374

1

안녕하세요 fs 권한 관련 질문드립니다

0

456

1

시퀄라이즈 연결질문...

0

511

2

res.setHeader vs res.cookie

0

1797

3