• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

자동로그인 구현에 대하여

21.12.04 15:38 작성 조회수 1.61k

0

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

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

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

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

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

답변 4

·

답변을 작성해보세요.

0

노른자님의 프로필

노른자

질문자

2021.12.04

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

req.login() 함수 안에

req.session.maxAge = 무제한

으로 설정하면 되는거죠?

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

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

노른자님의 프로필

노른자

질문자

2021.12.04

그렇군요. 

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

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

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

0

노른자님의 프로필

노른자

질문자

2021.12.04

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

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

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

0

노른자님의 프로필

노른자

질문자

2021.12.04

답변감사합니다.

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

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

 

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

노른자님의 프로필

노른자

질문자

2021.12.04

답변 감사합니다!

0

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