인증(Authentication) / 인가 (Authorization)

TEDDY·2022년 12월 2일
0

CODECAMP

목록 보기
28/53
post-thumbnail

인증

: 유저의 정보를 확인하고 맞다면 로그인 증표를 받는다고 생각하면 된다.

인가

: 인가는 인증에서 받은 로그인 증표를 던져서 증명한다고 생각하면 된다.

이런 기능들이 필요한 이유는 특정 서비스를 누가 언제 어떻게 쓰는지 파악하기 위해 사용된다.

API에서 제일 많이 사용되는 기능중 하나 이다.

절차

: Authentication 절차를 통해 access token을 생성한다. access token에는 유저 정보를 확인할 수 있는 정보가 들어가 있어야 한다 (예를 들어 user id).
유저가 request를 보낼때 access token을 첨부해서 보낸다.
서버에서는 유저가 보낸 access token을 복호화 한다.
복호화된 데이터를 통해 user id를 얻는다.
user id를 사용해서 database에서 해당 유저의 권한을 확인하다.
유저가 권한을 가지고 있으면 해당 요청을 처리한다.
유저가 권한을 가지고 있지 않으면 Unauthorized Response(401) 혹은 다른 에러 코드를 보 낸다.
항상 accessToken을 발급하는건 비효율적이기 때문에 accessToken이후에 refreshToken을 발급 받아서 기간을 정하고 그 기간에는 효율적이게 인가를 받을 수 있다.

0개의 댓글