2021-22 동계 모각코 4회차 후기
4회차 (2022-01-05)
결과
오늘은 서버 로그인 기능의 프로세스를 정의하였다. 가장 신경쓰였던 부분은 ‘클라이언트를 신뢰’하지 못한다는 부분이었다. 기본적으로 클라이언트에서 보내는 요청 내용들을 신뢰할 수 없는데, 해당 클라이언트가 그러한 요청을 보낼 수 있는 권한이 있는지 여부를 체크하는 것은 당연하고, 그 외에도 요청에 담아 보내는 내용이 정상적인 내용인지(정상 텍스트가 아닌 신뢰할 수 없는 유저 인풋인 경우 등의 판단), 실제로 유효한 정보인지 등을 검사하는 것을 잊어서는 안되는 것이다.
그래서 로그인을 구현하는 방식을 아래와 같이 정하였다.
- 클라이언트에서 firebase auth를 이용하여 전화 인증을 진행
- 클라이언트에서 sso login api를 이용하여 oAuth token 발급
- 클라이언트가 서버에게 firebase phone auth uid와 sso login oAuth token을 전송
- 서버가 firebase uid의 유효성을 검사하고 sso token이 정상적으로 조회되는지 확인
- 4번이 정상적으로 이루어지면 이 서버에 접근할 수 있는 계정 생성하여 전송
이러한 과정으로 클라이언트의 요청 내용을 검증하는 방식으로 진행하면 큰 문제 없이 로그인을 구현할 수 있을 것이다.