(1) 유저 아이디와 비번 생성
(2) 유저 비번을 암호화해서 데이터 베이스에 저장
(3) 유저가 로그인할 때 아이디와 비밀번호를 입력
(4) 유저가 입력한 비밀번호를 암호화한 뒤 데이터베이스에 저장된 유저 비밀번호(암호화되어있는)와 비교
(5) 일치하면 로그인 성공
(6) 로그인 성공시 access token을 클라이언트에게 전송
access token : 접근 권한이 있는 값.
브라우저에서는 '상태'를 관리하지 않는다.
다시 말해서, 우리가 사용하는 http 통신은 stateless로 client의 이전 상태를 기록하지 않는다. 때문에 access token으로 로그인 유무를 확인한다.
(7) 로그인 성공 이후에는 access token을 첨부해서 request를 서버에 전송함으로서 매번 로그인해도 되지 않도록 함.
(1) Authentication 절차를 통해 access token을 생성. access token에는 유저 정보를 확인할 수 있는 정보가 들어있어야 한다.(유저의 id같은거)
(2) 유저가 request 보낼 때 access token을 같이 보냄
(3) 서버에서는 유저가 보낸 access token을 복호화해서 user id를 얻는다.
(4) user id를 사용해서 데이터베이스에서 해당 유저의 권한을 확인한다.
(5) 유저가 해당 권한을 가지고 있으면 요청을 처리, 권한을 가지고 있지 않으면 Unauthorized Response(401) 혹은 다른 에러 코드를 반환