2021-22 동계 모각코 4회차 후기

GITHUB로 편집하기

V.IRACKIRACK000

4회차 (2022-01-05)

결과

오늘은 서버 로그인 기능의 프로세스를 정의하였다. 가장 신경쓰였던 부분은 ‘클라이언트를 신뢰’하지 못한다는 부분이었다. 기본적으로 클라이언트에서 보내는 요청 내용들을 신뢰할 수 없는데, 해당 클라이언트가 그러한 요청을 보낼 수 있는 권한이 있는지 여부를 체크하는 것은 당연하고, 그 외에도 요청에 담아 보내는 내용이 정상적인 내용인지(정상 텍스트가 아닌 신뢰할 수 없는 유저 인풋인 경우 등의 판단), 실제로 유효한 정보인지 등을 검사하는 것을 잊어서는 안되는 것이다.

그래서 로그인을 구현하는 방식을 아래와 같이 정하였다.

  1. 클라이언트에서 firebase auth를 이용하여 전화 인증을 진행
  2. 클라이언트에서 sso login api를 이용하여 oAuth token 발급
  3. 클라이언트가 서버에게 firebase phone auth uid와 sso login oAuth token을 전송
  4. 서버가 firebase uid의 유효성을 검사하고 sso token이 정상적으로 조회되는지 확인
  5. 4번이 정상적으로 이루어지면 이 서버에 접근할 수 있는 계정 생성하여 전송

이러한 과정으로 클라이언트의 요청 내용을 검증하는 방식으로 진행하면 큰 문제 없이 로그인을 구현할 수 있을 것이다.