Token

JiMin LEE·2022년 11월 17일
0

로그인

목록 보기
5/7

1️⃣ 토큰 인증

  • 토큰 기반 인증 시스템은 클라이언트가 서버에 접속하면 서버에서 해당 클라이언트에게 인증되었다는 의미로 토큰을 부여한다.
  • 이 토큰은 유일하다.
  • 발급받은 클라이언트는 또 다시 서버에 요청을 보낼 때 요청 헤더에 토큰을 심어서 보낸다.
  • 서버는 클라이언트로 부터 받은 토큰을 서버에서 제공한 것과 같은지 확인한다.

단점

  • 토큰 자체의 데이터 길이가 길어서 인증요청이 많아질수록 네트워크 부하가 심해질 수 있다.
  • Payload 자체는 암호화되지 않기 때문에 유저의 중요한 정보는 담을 수 없다.
  • 토큰을 탈취당하면 대처하기 어렵다

2️⃣ JWT : Json Web Token

  • 인증에 필요한 정보들을 암호화 시킨 JSON 토큰
  • JWT 기반 인증은 JWT 토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식

JWT 구조

  • 전자서명에는 비대칭 암호화(암호화를 위한 키 ≠ 복호화를 위한 키) 사용

장점

  1. 데이터 위변조 막을 수 있다.
  2. 별도의 저장소가 필요없다
  3. 클라이언트 인증 정보를 저장하는 세션과 다르게, 서버는 무상태(stateless)가 되어 서버 확장성이 우수해진다.
  4. 다른 로그인 시스템에 접근 및 권한 공유가 가능하다. → 쿠키와 다른 점
  5. 모바일 어플리케이션 환경에서도 잘 동작한다. → 세션은 모바일 불가능

0개의 댓글