인증(Authentication) / 인가 (Authorization)
🌼 인증(Authentication) / 인가 (Authorization)
인증 - 사용자의 신원을 확인
인가 - 신원이 확인된 사용자에서 권한을 부여한다.
1️⃣ 인증 (Authentication)
사용자의 정보(id,pw...)를 토대로 회원가입을 진행한다.
사용자의 패스워드는 암호화 한상태로 DB에 저장
사용자가 로그인시 id,pw(DB에 암호화된 pw를 복호화해서 일치한지 확인한다.)가 일치하는지 검사
일치한다면 token을 발급(다른방법도 존재) 아니라면 다시 로그인 요청
인증방식
token을 가지고 사용자는 서비스를 이용할수 있다(매번 로그인 x)
2️⃣ 인가 (Authorization)
사용자가 실행할 수 있는 권한 여부를 확인 하는 절차
내가 쓴 게시물은 수정 가능하지만, 다른사람이 쓴 게시물은 수정 할 수 없다.
이러한 권한 여부를 통해 제한시키는것이 인가
사용자가 로그인을 하게되면 token을 발급하게 되고, 발급 받은 token안에는 사용자의 정보가 들어가있다.
요청시 header에 token을 담아서 보내게 되고, 서버는 그 토큰을 복호화해서 요청자의 정보를 파악한다.
요청자의 정보를 DB에서 조회하고, 권한이 있다면 요청을 처리하고, 없다면 에러를 보내주게 된다.