less than 1 minute read


현장실습

2021-04-14-p.md

PseudoBack auth flow 정리

[현재 방식]

  1. 사용자가 requireLogin 미들웨어로 보호된 라우트에 get/post 요청
  2. 이미 로그인 되어있는 경우 원본 요청으로 계속 진행
  3. 로그인 정보가 없는 경우 원본 요청 url을 기억해두고, 패스포트 인증을 시작
  4. 패스포트 구글 로그인에서 사용자를 구글 로그인 주소로 리다이렉트
  5. 로그인이 성공하면 /google/callback 콜백 주소가 불림
  6. 이전의 원본 요청 url로 리다이렉트 (1번으로 돌아감. 다시 requireLogin이 호출되나 로그인 정보가 있기 때문에 성공하게 된다.)

[문제점]

  1. 뷰 클라이언트 서버 기준으로는 구글 로그인 주소가 외부주소이기 때문에 리다이렉트가 차단되는 것으로 보임.

[해결 방안]

  1. a태그와 돌아갈 위치 지정 등을 통해 해결:
    1. 로그인이 성공해도 다른 주소에서 된 것이기 때문인지 유지가 되지 않는듯함
    2. post 등 다른 비동기 요청들에 대해 적용이 어려움
  2. 클라이언트 기반 로그인 사용, 서버에 클라이언트id 보내기

Comments