SignUp, SignIn만 구현했었던 3일차 때와 달리 달라진 점은
와이즐리 홈페이지 특이점 상
SignInWhenEmailExists라는 제 3의 API를 하나 더 추가로 구현하게 되었다는 것.
이 홈페이지에 이미 가입되어있는 이메일을 입력할 경우,
이 화면에서 다음을 누르면
다음과 같이 화면이 변한다. 즉,
회원의 이름을 ㅇ*ㅇ 회원이라고 부르기 위해 이름값 리턴이 필요해진다. 이 화면을 위해 SignInWhenEmailExists API를 추가로 구현한 것이다.
와이즐리 홈페이지 클론하기로 팀 발표가 되었을 때,
잘은 몰라도 홈페이지에서 이것저것 눌러보며 백엔드의 역할이 다른 팀들 홈페이지에 비해 과중한 것 같지는 않아서 "찬찬히 해보면 잘 할 수 있겠지?" 생각했는데 와이즐리 홈페이지가 간단해보여도, 지금 이 구조는 email을 먼저 입력해야 회원가입을 할지, 아님 로그인을 할지 결정이 나는 구조라 아주 단순한 구조는 또 아니다.
여튼 내가 이 단계에서 지금 가지고 있는 의문은
email을 먼저 입력해야, 그 이메일이 계정에 존재하는지 마는지를 체크하여 SignUp으로 API를 내보낼지 SignIn으로 API를 내보낼지 결정을 할텐데, 그런 순서적인 로직은 어떻게 구현할 것인지이다.
(다음에 알았는데 이건 프론트 역할이었다.)
로그인을 하면, 와이즐리 홈페이지는 바로 나를 마이페이지 화면으로 데려온다.
이제 마이페이지에서 시작할 일은
1) 안녕하세요 ㅇㅇㅇ님 + email주소 구현
로그인 시 주어진 토큰을 이용하여 내가 그 토큰을 들고 있는 사용자임을 증명해야, DB에 접근할테고 그 이후에 DB에서 이름과 메일 정보를 긁어올 수 있을 것이다.
2) 발급된 고유의 토큰을 이용해서 마이페이지를 구현해야하는데, 마이페이지 화면 자체를 보면 너무 아무것도 없다는 생각이 든다. 다 프론트적인 요소만 보이고, 백엔드적 요소가 대체 뭐가 있는 건지 이름과 메일 주소 리턴 외에는 할게 없는건지 아님 내가 못찾고 있는 것인지 모르겠다. 프론트의 역할과 백의 역할을 구분하는 확실한 기준이 뭘까.