npm 환경
Firebase 웹 호스팅을 하면서 session 데이터를 DB에 저장하고 싶을 때 connect-session-firebase 모듈을 이용하면 편하다.
그래서 이걸 사용하던 중,
Local에서 테스트할 때는 DB에 session 데이터가 저장되고, redirection이 일어나도 잘 유지되는데,
firebase deploy를 하여 실제 호스팅을 하면 session이 유지되지 않고 redirection이 일어날 때마다 새로 생성되는 문제가 발생했었다.
또, firebase는 자체적으로 https를 이용하도록 해 주는데,
혹시 https에서의 express-session 사용 옵션이 잘못되었는지 확인해 보았다.
https 상에서는 secure 옵션을 true로 설정해 주어야 한다.
* 2017.10.29 추가 내용 : 직접 ssl을 이용해 https를 구현하면 secure 옵션을 true로 설정해 주어야 하지만, firebase를 이용할 때는 secure 옵션을 false로 해 주어야 잘 동작한다..... 정확한 이유는 모름
그렇게 했는데도 동작하지 않았다. 별 옵션을 다 바꿔가며 했는데도 되지 않아서,
firebase 공식 문서를 더 확인해 본 결과 이유를 알 수 있었다..
https://firebase.google.com/docs/hosting/functions?hl=ko
즉, session name 옵션을 '__session'으로 설정해야 한다는 것이었다.
이는 connect-session-firebase 모듈에서 'sessions' 옵션으로 설정 가능한데, default로 'sessions'으로 설정된다.
이 옵션을 수정하니까 바로 문제가 해결되었다.
이제 session이 잘 유지된다.
히ㅣ히
반응형
'Firebase' 카테고리의 다른 글
[Firebase] CORS(Cross-Origin Resource Sharing) and Firebase (1) | 2017.11.08 |
---|---|
[Firebase] Web hosting on Firebase 1. 호스팅 해 보기. (0) | 2017.08.17 |