[TIL] 22. 인증, 인가, JWT

김지수·2024년 5월 22일

TIL

목록 보기
22/53

인증과 인가란 무엇일까?

인증(Authentication)

인증은 해당 유저가 실제 유저인지 인증하는 개념이다.
여러분의 스마트폰에 지문인식, 이용하는 사이트에 로그인 등과 같이 실제 그 유저가 맞는지를 확인하는 절차 이다.

인가(Authorization)

인가는 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념이다. 예를 들어 관리자 페이지-관리자 권한 같은 것들을 들 수 있다.

우리가 인증과 인가를 헷갈려 하는 이유는 로그인만 생각한다.
우리가 자주 하는 로그인은 인증을 할 때(비밀번호 입력하고 제출 할 때)이고
회원/비회원 여부에 따라 다른 권한을 받는 것이 인가이다.


JWT

JWT(Json Web Token)란 JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token 이다. 즉, 토큰의 한 종류라고 생각하면 된다.
일반적으로 쿠키 저장소를 사용하여 JWT를 저장한다.




JWT 장/단점

장점

  1. 동시 접속자가 많을 때 서버 측 부하 낮춤
  2. Client, Sever 가 다른 도메인을 사용할 때
    ex) 카카오OAuth2 로그인 시 JWT Token 사용

단점

  1. 구현의 복잡도 증가
  2. JWT 에 담는 내용이 커질 수록 네트워크 비용 증가(클라이언트 -> 서버)
  3. 기 생성된 JWT 를 일부만 만료시킬 방법이 없음
  4. Secret key 유출 시 JWT 조작 가능

오늘의 회고

좋았던 점
JWT 회원 토큰을 발행해서 인증 인가하는 강의를 계속 보면서 코드 따라치기를 계속 하였다.

아쉬운 점
강의를 들었지만 이해를 하지 못하고 있다. 머릿속으로 어떻게 진행하는지 이해하는데 코드 하나하나가 이해가 안된다...

계속 강의를 끝까지 듣고 강의를 다시 돌려봐야겠다.

profile
서툴고 부족한 점이 많지만, 배우고 발전하며 성장하기 위해 노력하겠습니다.

0개의 댓글