WEB. 인증&인가 이론

Miog Yang·2022년 8월 22일
0

Web

목록 보기
1/1

👉 WEB

인증과 인가

인증(Authentication) : Authentication과 user의 identification을 확인 하는 절차.
user의 신원확인을 하는 절차이다.
인가(Authorization) : user에게 받은 정보로 서비스별 이용권한을 확인하는 절차.

🧐 인증 절차

  1. User sign-in : 유저 회원가입
  2. Authentication Server에서 JWT를 받아옴
  3. Application Server로 JWT를 담아서 보내줌
  4. User에게 응답

💡 access token은 암호화된 user정보로써 인증 절차로 인해 user가 해당 서비스를 이용하기 위해 매번 로그인할 필요없이 계속적으로 이용할 수 있도록 해준다.

💡 JWT(Json Web Token): access token을 생성하는 방법중 하나로써 유저 정보를 담은 json 데이터를 암호화하여 클라이언트와 서버간에 주고 받는것을 의미한다.

🧐 로그인 절차

  1. User id, password생성
  2. User password를 JWT(암호화)후 DB에 저장 =>회원가입
  3. User Login => id, password 입력
  4. User가 입력한 id, password를 JWT(암호화)후 DB에 회원가입시 저장된 password JWT(암호화)를 비교.
  5. 일치하면 로그인 성공 / 불일치시 Alet '회원가입 massage'
  6. 로그인 성공시 access token을 클라이언트에게 전송

🧐 Authorization 절차

  1. 인증절차를 통해 access token을 생성한다.(id값으로 유저정보 확인)
  2. user가 request를 보낼때 access token을 첨부해서 보낸다.
  3. 서버에서는 유저가 보낸 access token을 복호화 한다.
  4. 복호화된 데이터를 통해 user id를 얻는다.
  5. user id를 사용해서 database에서 해당 유저의 권한을 확인한다.
  6. 유저가 충분한 권한을 가지고 있으면 해당 요청을 처리한다.
  7. 유저가 권한을 가지고 있지 않으면 401 혹은 다른 에러코드를 보낸다.

📌 refer : Justcode

profile
주니어 개발사전 & 프론트엔드 도전기

0개의 댓글