"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 웹 인증 이해 : 세션 대 JWT

웹 인증 이해 : 세션 대 JWT

2025-03-23에 게시되었습니다
검색:822

보안 웹 애플리케이션을 구축 할 때 올바른 인증 메커니즘을 선택하는 것이 중요합니다. 오늘날 우리는 널리 사용되는 두 가지 접근 방식을 탐색하고 있습니다 : 세션 기반 인증 JSON Web Tokens (JWTS) . 워크 플로, 장점 및 트레이드 오프를 이해함으로써 응용 프로그램에 가장 적합한 사람을 결정할 수 있습니다.


세션 기반 인증

세션 기반 인증이 작동하는 방법은 다음과 같습니다.

  1. 로그인 및 세션 제작 :

    • 사용자는 로그인 자격 증명을 서버로 보냅니다.
    • 서버는이를 확인하고 유효한 경우 세션을 만듭니다.
    • 세션 데이터 (예 : 사용자 ID, 만료 시간)는 데이터베이스 또는 Redis와 같은 캐시에 서버에 저장됩니다.
  2. 세션 ID :

    • 서버는 일반적으로 쿠키로 고유 한 세션 ID를 클라이언트에게 보냅니다.
  3. 후속 요청 :

    • 클라이언트는 각 요청에 따라 세션 ID 쿠키를 자동으로 보냅니다.
    • 서버는이 ID를 사용하여 세션 데이터를 검색하고 사용자를 인증합니다.

Understanding Web Authentication: Sessions vs. JWTs

주요 혜택 :

  • 쉬운 취소 : 세션 데이터를 삭제하여 언제든지 세션을 무효화 할 수 있습니다.
  • 중앙 집중식 보안 : 민감한 정보는 서버에 유지됩니다.

도전 :

  • 분산 시스템 : 다중 서버 환경에서 모든 서버는 동일한 세션 데이터에 액세스해야하므로 Redis와 같은 중앙 집중식 세션 저장소가 필요합니다.
  • 추가 대기 시간 : 페치 세션 데이터는 각 요청에 오버 헤드가 추가됩니다.

JWT 기반 인증

jwts는 다른 접근 방식을 취합니다 :

  1. 로그인 및 토큰 생성 :

    • 사용자는 로그인 자격 증명을 서버로 보냅니다.
    • 서버는 서버를 확인하고 서명 된 JWT가 포함 된 사용자 데이터를 생성합니다.
    • 클라이언트는 JWT를 저장합니다 (예 : 로컬 스토리지 또는 쿠키에).
  2. 후속 요청 :

    • 클라이언트는 JWT를 요청 헤더로 보냅니다.
    • 서버는 토큰의 서명을 확인하고 인증을 위해 데이터를 사용합니다.

Understanding Web Authentication: Sessions vs. JWTs

주요 혜택 :

  • 상태가없고 확장 가능 : 세션 데이터가 서버에 저장되지 않으므로 JWT가 수평 확장 가능한 응용 프로그램에 이상적입니다.
  • 서비스 간 호환성 : 마이크로 서비스 아키텍처에서 서비스는 인증 서비스를 쿼리하지 않고 확인 된 JWT의 데이터를 신뢰할 수 있습니다.

도전 :

  • 토큰 만료 : 도난당한 경우 JWT는 만료 될 때까지 유효합니다.
  • 보안 트레이드 오프 : 서버는 보안을 개선하기 위해 새로 고침 토큰과 같은 메커니즘을 구현해야합니다.

JWT 보안 : 올바른 서명 알고리즘 선택

  • hmac : 대칭 키는 서명 및 확인에 사용됩니다. 간단하지만 키를 공유해야하므로 위험을 초래할 수 있습니다.
  • rsa/ecdsa : 비대칭 키는 개인 키 표시가 토큰을 보장하고 공개 키는이를 확인하여 분산 시스템의 보안을 향상시킵니다.

각 방법을 사용하는시기

세션 기반 인증 :

  • 즉각적인 세션 취소가 필요할 때 이상적입니다.
  • 중앙 집중식 데이터 저장소가있는 응용 프로그램에 적합합니다.
  • 는 서버에 민감한 데이터를 유지하여 보안을 향상시킵니다.

JWT 기반 인증 :

  • 무국적, 확장 가능한 아키텍처에 가장 적합합니다.
  • 마이크로 서비스 또는 타사 서비스와 인증 데이터를 공유 할 때 유용합니다.
  • 보안 및 사용자 경험의 균형을 위해 새로 고침 토큰과 jwts 쌍.

궁극적으로, 귀하의 선택은 응용 프로그램의 아키텍처, 스케일링 요구 사항 및 보안 요구에 따라 다릅니다. 세션이나 JWT를 사용하든 이러한 메커니즘을 이해하면 안전하고 원활한 사용자 경험이 보장됩니다.

릴리스 선언문 이 기사는 https://dev.to/arnav2004/understanding-web-authentication-sessions-vs-34nf?1에서 재현됩니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3