제일먼저 메일인증으로 passwordless를 꼭 하려고했다.
무엇보다 내가사용해서 제일 편했던 서비스이다.
그러므로 토큰이용이 높았고
서버에 부담이 좀 커지긴한거같다.
elb가 어떻게 처리해줄지는 아직 잘모르겠지만.
확실한건 아직 서버가 무겁다, 그리고 typescript여서그런지
컴파일이 오래걸려서
매번 어떤 요청을 매우 느리게 해결하는감이 있다.
아직 체감될정돈아니지만, 서버 터미널 로그찍히는거보면 벌써부터 느껴진다.
jwt추가되고 좀더 느려진게 체감되었고,
토큰을 어쨋든 클라에서 어떤 요청이 올때마다, 확인해야한다.
그리고 ㅇ없으면 리프레시를 확인해야한다.
둘다 문제가있으면 로그인페이지로 리다이렉트 시켜야한다.
그러므로
클라이언트입장에서
이므로 클라이언트입장에서 미들웨어로 항상 액세스토큰이 오는지도 감지해야한다.
리소스를 크게 잡아먹는부분은 아닌거같아서 그렇게 하기로했다.
서버가 오히려
매번 토큰을 확인하다보니,
무거워지는감이 있다.
다음에 배포때, 최적화를위해서 tsc로 전부 컴파일해서 js로 돌려버릴까도 고민해보고있다.
아직 뭐 동시접속자수를 고려할 수준은아니지만,
그래도 20명 들어왓다고 터지는 서버는
서버의 성능이 문제가아니라,
서버를 만든 개발자의 문제이지않을까. EC2도 20명은 거뜬히 버티지않을까..?
뭐 로드벨런서로 서버증설이된다면, 서버성능도 어느정도 케어하겠지만,
https 사실조금 걱정된다 ..;
디비 저장할때 있었던 이슈가
시퀄라이저 + 강제로 typescript화 해서 사용하다보니
(실제로 sequelize-typescript 라는 라이브러리는 있는데 사용안하고, 강제로 타입화 했다)
그래서 좀더 어려운 여정도있었으나, 위 라이브러리 사용법을 새로 익히느니
typeORM을 배우고말지 라는생각도있엇고, 파이널때는 고려해볼생각이고,
당장에 시퀄라이저 사용하는데
안돼는것이다. 저장이 ..
왜지 ..계속 찾아보고 찾아보고 해서 오전을 날렸는데
오후쯤 되서야 진짜 어이없는 방법으로 해결했다.
tsconfig에서 변환을 es5 에서 es6로 올렸다.
즉 타입스크립트 컴파일할때 es5문법이 아니라, es6문법으로 올리겠다 인데.
다르게 생각하면 es6 신문법때문에, 시퀄라이저+강제 타입스크립트화 해놓은
모델에서 쿼리문을 날릴때 모르는 문법이다 라고 에러를 뱉은것이다.
자칫하면 모델 잘못짠줄알고 다 날려버리려고했는데
같이하는 백엔드 멤버덕분에 잘 해결했다..
이슈 쉐어링 빠르게 올리니 팀원이 빠르게 도움 줘서 다행이다.
앞으로 해결해보고 30분 검색으로 해결안돼고 제자리빙빙 이면 빨리 쉐어링해서
같이고민하면 될꺼같다.
남들이 못푸는것은 내가 빠르게 해결책 내놓은 경우가 있듯이,
내가 잘 해결안돼는게 다른사람이 보면 답이 별거없이 툭 나올수도있는것이다.
리프레시 토큰의 maxAge에 대해서 약간 이슈가있엇다
아무리 maxAge, expire 등 설정해줘도
잘 안먹는것이다
아뭐지 ..
expire도 분명 시간으로 더해줬다.
그리고 분명 검색으로 했을때는 쿠키는 maxAge는 초단위라고 나온단말이다 ㅠㅠ
마지막즈음 express cookie로 검색했다가
영어로된 글하나를 발견했나 .. 한글 블로그였나? 기억이 애매한데
결론은 밀리초였다.
하 ..
그래서 1000곱해서 해결했다.
제일 허무한 결말인데..
다른것도 고려해본계기가 생기긴했다 검색하면서
https의 옵션도 많이보였고,
아마 서버를 https변경할때
고려해야할부분은
cors의 옵션과
쿠키의 옵션인거같다.
익스프레스 세션을 쓰진 않으니까
쿠키옵션정도만 해결해도 될꺼같다.
제일 걱정이다 https..
배포때 울겠지 ..