JWT

김다은·2023년 1월 16일
1

TIL

목록 보기
10/14
post-thumbnail

https://www.okta.com/identity-101/what-is-token-based-authentication/
해석 및 정리

JWT

JWT는 세 가지 중요한 요소를 가지고 있다

  • 헤더(Header)
    • 특정 공간에 포함된 토큰 유형 및 서명 알고리즘을 정의
  • 페이로드(Payload)
    • 특정 섹션에서 토큰 발급자, 토큰 만료 등을 정의
  • 서명(Signature)
    • 보안 서명을 사용하여 전송 중에 메시지가 변경되지 않았는지 확인

JWT의 장단점

장점

  • 사이즈

    • 코드 언어의 토큰이 작다
    • 두 엔티티 간에 전달이 매우 빠르다
  • 용이성

    • 토큰은 거의 모든 곳에서 생성할 수 있다
    • 서버에서 확인할 필요가 없다
  • 제어

    • 다른 사용자가 액세스할 수 있는 항목, 해당 권한이 지속되는 기간 및 접속하는 동안 해당 사용자가 수행할 수 있는 작업을 지정할 수 있다

단점

  • 단일 키
    • JWT는 단일 키에 의존한다
    • 단일 키가 손상되면 전체 시스템이 위험해진다
  • 복잡성
    • JWT는 어렵다
    • 개발자가 암호화 서명 알고리즘에 대한 충분한 지식을 가지고 있지 않으 면 실수로 시스템을 위험에 빠지게 할 수도 있다
  • 제한성
    • 모든 클라이언트에 메시지를 푸시할 수 없다
    • 서버 측에서 클라이언트를 관리할 수 없다

인증토큰을 사용해야 하는 이유

권한 부여 토큰은 다음을 수행하는 시스템 관리자에게 유용하다.

  • 임시 액세스 권한을 부여해야 한다

    • 사용자 기반은 날짜, 시간 또는 특수 이벤트에 따라 변동한다.
    • 액세스 권한을 반복적으로 부여하고 취소하는 것은 많은 시간과 힘이 소비된다.
  • 세분화된 액세스가 필요하다

    • 서버는 사용자 등록 정보가 아닌 특정 문서 등록 정보에 따라 접근 권한을 부여한다.
    • 비밀번호는 세부 정보를 조정할 수 없다.

Todo
이론적인 부분들은 정리가 되었고 이제 구현하는 방법을 공부하여 업로드 해야함!

참고

https://www.okta.com/identity-101/what-is-token-based-authentication/

profile
이제는 더이상 물러날 곳이 없다

0개의 댓글