오늘은 로그인 기능에 관련되어 알아볼 것이다.
bcrypt
bcrypt은 비밀번호를 암호화하는 알고리즘이다.
비밀번호를 그대로 DB에 저장하는 것은 보안에 위험하다.
JWT
사용자가 로그인하면 jwt를 발급받고 이를 활용에 권한 체크를 한다.
const token = await jwt.sign({ id: user.id }, process.env.SECRET_KEY);
이렇게 발급받은 token은 http headers에 담아 요청한다.
http headers에 담은 token은 context 매개 변수에 담아 모든 resolver에 보낼 수 있다.