로그인 된 유저만 게시판에 글을 쓸 수 있게 한다던가, 지정된 페이지에 접근할 수 있게 하는 기능을 위한것이다.
- 저번 시간 복습
- 토큰 생성 후 User 정보에 넣고 Server에는 UserDB에 넣고, Client에서는 쿠키에 저장했다.
- 그리고 Server의 Token과 Client의 Toekn을 계속 비교하면서 맞는지 체크한다.
- 만약 유저가 A page -> B page 로 이동할때, B page에 접근 가능한지 체크하는 과정
1) Client에서 쿠키에 담긴 정보를 Server에 전달한다.
2) Server는 Encode 된 쿠키를 받아서 Decode를 하고 그러면 User ID 가 나온다. ID 가 Server 쪽의 User DB에 있으면 인증되는 것이다. ('user._id + 'secrete Token' 해서 토큰을 생성했음. 디코드할때는 secretToken을 넣으면 user._id가 나옴.
그래서 user)
[결론]
1. Cookie에서 저장된 Token을 Server에서 가져와서 복호화를 한다.
2. 복호화를 하면 User ID가 나오는데 그 User ID를 이용해서 데이터베이스 User Collection에서 유저를 찾은 후 쿠키에서 받아온 token이 유저도 갖고 있는지 확인한다.
3. 쿠키가 일치하면 Authentication이 true이다. 그리고 그에 해당하는 유저의 정보들을