로그인과 관련한 API를 시퀄라이즈를 통해 구현하는 것이다. 시퀄라이즈로 기본적인 부분은 models에 만들어져 있다.
express-session
미들웨어를 통해 세션을 관리한다.
controller 부분만 신경쓰면 된다. TODO를 잘읽어보자.
signup(유저가 회원가입을 했을 때, 회원정보를 데이터베이스에 저장하도록 구현하세요.)
유저가 이미 있는 경우와 새로운 유저 데이터가 담겨야 하는 경우를 나눈다.
signin (유저가 로그인을 했을 때, 회원정보를 데이터베이스에서 확인하고, 회원의 id를 session에 담아주도록 구현하세요.)
정보가 맞았을 때와 틀렸을 때를 나눈다. 확인이 되었다면 session객체에 회원의 id를 담아준다.
signout (유저가 로그아웃했을 때, session 정보를 없애고, '/'로 redirect할 수 있도록 구현하세요.)
세션이 생성되어 있는 상태면 세션객체에 id가 존재한다. 이때 destroy()메서드를 이용해서 세션을 제거한다. 제거한 이후에는 리다이렉트.
info (유저의 session을 이용하여, 데이터베이스에 있는 정보를 제공하도록 구현하세요.)
세션객체에 id가 존재한다면 session의 id로 DB를 조회한다음 리턴한다.
jwt (jsonwebtoken)
해싱처리방식
잘하시는 페어분들을 보면 구조적으로 코드를 잘 뜯어본다. 코드리뷰를 많이 해봐야 할 것 같다.