본문 바로가기

redis3

(2) JWT Access, Refresh 토큰 + Redis : 스프링 코드 구현 [Kotlin] 안녕하세요, 스코리아입니다. 오늘은 저번 시간에 이어서 스프링에서 JWT(Access, Refresh 토큰)을 Redis와 함께 사용하는 코드를 구현해 보겠습니다. 언어는 코틀린(Kotlin)으로 진행하겠습니다. 이전 포스팅에서 JWT가 무엇이고 Refresh 토큰을 사용해야 하는 이유, Refresh 토큰의 보안문제와 해결방안, Redis 활용 장점에 대해서 설명드렸으니, 꼭 읽어보시기 바랍니다! [이전 내용] (1) JWT Access, Refresh 토큰 + Redis : 소개 및 보안 : 바로가기 프로젝트 구현 흐름 스프링으로 코드를 구현하기 전에 어떤 식으로 구현해 볼지 Flow에 대해서 먼저 설명해 드리겠습니다. Access 토큰의 유효기간은 30분, Refresh 토큰의 유효기간은 1달(30.. 2023. 12. 30.
(1) JWT Access, Refresh 토큰 + Redis : 소개 및 보안 안녕하세요, 스코리아입니다. 오늘은 JWT(Access, Refresh 토큰)에 관해 자세히 소개해드릴 예정이며, Redis를 사용하였을 때의 장점과 Refresh 토큰에 관련된 보안 문제점 및 해결방안도 전해드리겠습니다. 다음 포스팅에는 스프링 코드와 함께 설명을 이어나가겠습니다. 세션 기반 인증 vs 토큰 기반 인증 사용자가 인증된 사용자인지 구분하기 위해서 대표적으로 세션 기반 인증, 토큰 기반 인증 방법이 존재합니다. 각각 장단점이 존재하므로 자신의 프로젝트의 상황에 맞게 선택하는 것이 좋겠습니다. 보통 토큰 기반 인증 방법은 무상태성, 확장성, 무결성의 이유로 사용됩니다. - 무상태성 : 사용자의 인증 정보가 담겨 있는 토큰을 클라이언트에 저장하기 때문에 서버에 별도의 저장소가 없어, 완전한 무.. 2023. 12. 25.
스프링에서 Redis 캐시 사용하기 (@Cacheable, @CacheEvict) [Kotlin] 안녕하세요, 스코리아입니다. 오늘은 스프링 3.1.0 환경에서 Redis 캐시를 사용해 보고, DB(Disk)로 불러올 때와 속도 비교를 해보겠습니다. 언어는 코틀린(Kotlin)으로 진행하겠습니다. Redis는 NoSql로서, 인메모리 DB이기 때문에 Disk(하드)에서 불러오는 DB보다 훨씬 속도가 빠릅니다. 그렇기 때문에 Redis로 캐시 작업을 하기에 용이합니다. 하지만 Redis에 많은 데이터가 누적이 된다면 메모리 부족 현상이 순시 간에 나타날 수 있습니다. 그렇기 때문에 TTL(time-to-live)이라 부르는 '만료시간'을 설정하여 일정 시간이 지나면 자동으로 삭제되게끔 설정할 수 있습니다. Redis 설치 (Mac) Redis를 아직 설치하지 않으셨다면, 터미널에 아래 명령어를 쳐서 간.. 2023. 12. 20.