TIL 020 | 인가 (Authorization)

This Is Empty.·2021년 9월 24일
0

TIL

목록 보기
20/23
post-custom-banner

인가(Authorizaition) ?

Authorization은 유저가 요청하는 request를 실행할 수 있는 권한이 있는 유저인가를 확인하는 절차를 말한다.

Authorization 절차

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

JWT(JSON Web Tokens)

JWT는 당사자 간에 정보를 JSON 개체로 안전하게 전송하기 위한 간결하고 자체 포함된 방법을 정의 하는 개방형 표준이다.
사용자가 로그인하면 각 후속 요청에는 JWT가 포함되어 사용자가 해당 토큰으로 허용된 경로, 서비스 및 리소스에 접근할 수 있다.


1. 응용 프로그램 또는 클라이언트가 권한 부여 서버에 권한을 요청한다.
2. 인증이 부여되면 인증 서버는 액세스 토큰을 응용프로그램에 반환한다.
3. 프로그램은 액세스 토큰을 사용하여 API와 같은 보호된 리소스에 액세스한다.


해당 access token을 복호화 하면 다음같은 유저의 id를 얻을 수 있다.

참고
Introduction to JSON Web Tokens

profile
Convinced myself, I seek not to convince.
post-custom-banner

0개의 댓글