강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

노른자님의 프로필 이미지
노른자

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

credentials로 쿠키 공유하기

자동로그인 구현에 대하여

작성

·

2.1K

0

현재 자동로그인을 어떻게 구현할지 구상중입니다.

쿠키를 로컬스토리에 저장시켜 서버에 전송하는 방법을 생각했는데, 이대로 하면 될지, 그리고 이게 가능한지 모르겠습니다.

아니면 통상적인 더 좋은 방법이 있을까요?

유저 정보를 그냥 넣어두기엔 유저정보가 계속 업데이트 되는 서비스를 계획중이라...

방법을 알려주시면 정말 감사하겠습니다.

답변 4

0

노른자님의 프로필 이미지
노른자
질문자

정말 마지막 질문하나만 하겠습니다.

req.login() 함수 안에

req.session.maxAge = 무제한

으로 설정하면 되는거죠?

되긴하는데 초보라 보안적으로 확실히 이렇게 해도되는지  모르겠습니다...

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아뇨. app.use(session({설정...})) 여기서 cookie 속성에서 설정하는 겁니다.

노른자님의 프로필 이미지
노른자
질문자

그렇군요. 

근데 그렇게 하면 무조건적으로 자동로그인이 되지않나요?

저는 사용자가 자동로그인을 선택할 수 있게할려고하는데, 어떻게 다이나믹하게 설정할 수 있나요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아, 그 때는 req.session.cookie.maxAge나 expires로 설정하시면 됩니다

0

노른자님의 프로필 이미지
노른자
질문자

근데 쿠키를 보내면 세션스토리지에 저장되어 브라우저를 닫으면 쿠키의 만료기간 상관없이 로그아웃되는걸로 알고있었는데, 아닌가요?

질문폭탄 죄송합니다...

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

세션스토리지는 쿠키와 별도의 저장공간입니다.

0

노른자님의 프로필 이미지
노른자
질문자

답변감사합니다.

따로 설정을 안해줬을땐 브라우저를 닫으면 로그아웃되던데, 그럼 쿠기 만료시간의 기본값은 브라우저가 종료될때인가요? 

쿠키 만료시간을 따로 무제한으로 만들려면 서버에서 처음 유저 정보를 보낼때, req.header에 setCookie expire을 무제한으로 설정하면 되는건가요?

 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 기본값은 브라우저 종료시입니다. expire을 몇년 뒤로 설정하세요.

노른자님의 프로필 이미지
노른자
질문자

답변 감사합니다!

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

쿠키 만료기간을 늘려서 갖고 있으면 따로 로컬스토리지에 저장할 필요도 없습니다. 쿠키가 만료되기 전까지는 계속 자동 로그인이 되는 겁니다.

노른자님의 프로필 이미지
노른자

작성한 질문수

질문하기