Java Spring | JWT (로그아웃)

사과농장주·2026년 3월 24일

자바스프링

목록 보기
7/8

블랙리스트 등록

  • Key 블랙 리스트 value: access token


블랙리스트 토큰 사용 불허

  • 필터에서 블랙리스트 확인
    // 액세스 토큰(Access Token)의 무결성과 유효성을 검증 & 블랙리스트 확인
    public boolean isUsableAccessToken(String accessToken) {

        return accessToken != null
                && jwtUtil.validateToken(accessToken)
                && !isBlacklisted(accessToken);
    }
    
    // 액세스 토큰(Access Token)의 블랙리스트 등록 여부를 확인 하는 메소드
    private boolean isBlacklisted(String accessToken) {
        String blackListKey = String.format( "blacklist:%s", jwtUtil.getJti(accessToken));

        return redisTemplate.hasKey(blackListKey);
    }

필터에서 if 안으로 들어가지고 않고 필터링 된다.
헤더에 담아 전달
토큰 자체에 대한 제어권이 서버에 있지 않기 때문에 따로 디비에서 관리 블랙리스트를 추가해야하는 번거로움이 있다. 빠르게 할 수 있다는 점이 유용. 보안적으로는 깔끔하다. 블랙리스트에 등록되기 때문에(?)

단순하게 클랑언트에서 지우는 경우도 있음. -> 보완 취약

Refresh Token

  • 쿠키에 전달
    로그인하면서 access token을 내려주면서 쿠키를 몰라..?
    업로드중..
profile
안녕, 나는 코딩 밭에서 사과를 줍는 사과농장주야 🍎

0개의 댓글