Community

JWT(AccessToken, RefreshToken)

JWT는 많은 웹 애플리케이션에서 선호하는 인증과 인가를 위해 사용되는 간단하고 경량화된 방법입니다. 사용자 정보를 인증할 수 있는 암호화된 문자열로 토큰 기반 인증 방식이며, JSON 포맷으로 구성됩니다. JWT의 장점은 다음과 같습니다. - 분산 시스템 지원(Support for distributed systems): 서로 다른 도메인 간에 정보를 전달하는 데 사용할 수 있습니다. 이는 서로 다른 시스템 및 서비스가 협업할 때 유용합니다. - 간단하고 효율적인 전송: JSON 기반의 텍스트 포맷으로 HTTP 헤더에 토큰을 쉽게 포함시킬 수 있어, 구현이 간단하고 효율적입니다. - 상태비저장(Stateless): 서버에 세션 정보를 저장할 필요가 없기 때문에 서버의 부담을 줄일 수 있습니다. 하지만 보안을 위해 refreshToken 을 발급하면 서버에 저장이 필요합니다. 그렇지만 JWT는 보안에 취약하다는 단점이 있습니다. 이를 보완하기 위한 방법중 하나는 1. AccessToken의 유효기간을 짧게 설정하고 RefreshToken 을 동시에 발급하여 RefreshToken 을 서버에 저장합니다. 2. 이후에 RefreshToken 요청이 들어왔을 때, AccessToken 과의 비교를 통해 탈취된 RefreshToken 인지 검증합니다. RefreshToken이 탈취되었다면 계속하여 AccessToken을 발급하여 로그인 상태를 유지할 수 있기 때문에 보안에 큰 위협이 될 수 있습니다. 3. 위와 같은 과정을 통해 로그아웃을 시키는 방법 등으로 보안을 강화할 수 있습니다.

알림

알림이 없습니다