ultra_dev
Redis를 활용한 AccessToken BlackList 저장(로그아웃 기능) 본문
로그아웃 기능 구현을 위해서
AccesToken을 Redis에 저장하는 방법을 사용했다.
key값으로 token을 넣고
이후 기존 Filter단계에서 AccessToken이 블랙리스트에 저장돼있는지 여부를 한번 더 체크하게 만들었다.
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
FilterChain filterChain) throws ServletException, IOException {
try {
String accessToken = jwtUtil.resolveAccessToken(request);
if (accessToken != null) {
Object blackList = redisDao.getBlackList(accessToken);
if (blackList != null) {
if (blackList.equals("logout")) {
throw new IllegalArgumentException("로그아웃된 토큰입니다.");
}
아
로그아웃 메소드에서는
RTR(Refresh Token Rotation)을 위해 Redis에 저장해놓은 리프레시토큰을 제거하고
AccessToken을 블랙리스트에 저장하게 만들었다.
뿌듯
'TIL&WIL' 카테고리의 다른 글
Redis를 활용한 Cache 기능 (1) | 2023.04.21 |
---|---|
AOP 활용하여 컨트롤러 메소드 실행시간 측정 (1) | 2023.04.14 |
3.27 TIL 최종프로젝트 회고! (0) | 2023.03.28 |
2.20 ~ 2.26 WIL (0) | 2023.03.02 |
2.21 TIL (0) | 2023.02.22 |
Comments