TIL13. 인가(Authorization)

박경철·2021년 6월 6일
0

TIL

목록 보기
13/19

1. 인가(Authorization)

Authorization은 유저가 요청하는 request를 실행할 수 있는 권한이 있는 유저인가를 확인하는 절차이다.
access token을 통해 해당 유저 정보를 얻을 수 있음으로 해당 유저가 가지고 있는 권한(permission)도 확인 할 수 있다.

1.1 인가 절차

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

1.2 JWT(Json Web Token)

access token을 생성하는 방법은 여러가지가 있는데, 그 중 가장 널리 사용되는 기술중 하가 바로 JWT(JSON Web Tokens)이다.

1. 유저 로그인(id, password) 정보 입력
2. 유저의 로그인 정보를 Server를 통해 DB에 저장된 유저 정보와 비교하여 인증 확인 및 유저 정보가 담긴 JSON 데이터 Token 생성
3. 생성된 Token 데이터로 유저 정보를 갖고 있어 다시 로그인하지 않고 Server에 request 전송
4. request에 대한 response 발생 
profile
안녕하세요!

0개의 댓글

관련 채용 정보