
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 안으로 들어가지고 않고 필터링 된다.
헤더에 담아 전달
토큰 자체에 대한 제어권이 서버에 있지 않기 때문에 따로 디비에서 관리 블랙리스트를 추가해야하는 번거로움이 있다. 빠르게 할 수 있다는 점이 유용. 보안적으로는 깔끔하다. 블랙리스트에 등록되기 때문에(?)
단순하게 클랑언트에서 지우는 경우도 있음. -> 보완 취약