2024/05 4

Redis TTL 알아보기

@RedisHash(value = "userAlert", timeToLive = ExpireTime.REFRESH_TOKEN_EXPIRE_TIME_FOR_REDIS)public class UserAlert { @Id private String id; private String title; private String message; private String createdDate; @Indexed private Long userId;} 예전 프로젝트에서 유저 게시물에 댓글을 달면 알림이 가는 기능을 만들었다. Entity에 Redis TTL을 넣어서 사용한 적이 있는데 그 만료된 값을 어떤식으로 삭제할지 동작방식이 궁금해서 찾아봤다. 매번 찾는건지... 찾는다면 어떤식..

카테고리 없음 2024.05.30

Redis 활용 JWT 로그아웃 구현하기

작년에 진행한 미간지 프로젝트! 로그인은 JWT 로그인으로 구현 하였다.  나는 그 당시 Redis를 활용해보고 싶었고 JWT와 결합하여 사용하면 좋을것 같아서 팀원들을 설득해서 JWT로 구현하였다. https://evga7.tistory.com/140  JWT는 기본적으로 AccessToken , RefreshToken  두가지를 활용한다. 액세스토큰은 말그대로 접근을 위한 토큰 토큰을 가지고있다면 권한을 가지고있다고 판단한다. 하지만 보통 토큰은 stateless 특징을 가지므로 탈취된다면 서버는 똑같이 허용된 사용자로 판단하기때문에 30분정도의 유효기간을 두고 만료 되었을시 refreshToken을 통해 재발급을 받아 다시 사용할수 있도록한다. 물론 RefreshToken도 유효기간을 두고 발급하게..

앱개발 2024.05.28

JWT 토큰

기본 정보JSON Web Token (JWT) 은 웹표준 (RFC 7519) 으로서 두 개체에서 JSON 객체를 사용하여 가볍고 자가수용적인 (self-contained) 방식으로 정보를 안전성 있게 전달해줍니다. 라고 설명이 나와있다. 여기서 중요한건self-contained  JWT는 이런식으로 구성되어 자체적으로 토큰에 정보를 담고있다. 그래서 전달이 쉽다.웹서버의 경우 HTTP의 헤더에 넣어서 전달 할 수도 있고, URL 의 파라미터로 전달 할 수도 있다. 헤더{ "typ": "JWT", "alg": "HS256"} 이런식으로 타입은 JWTalg 는 알고리즘으로 보통 HMAC SHA256 혹은 RSA 가 사용된다. 내용JWT의 표준 스펙 1. iss (Issuer) : 토큰 발급자2. sub ..

혼자공부한거 2024.05.24