Redis

    코드리뷰 적용, 다시 Redis로.. - MiniPay(5)

    코드 리뷰이전에는 굳이 Redis를 사용할 필요가 없다고 생각해서 MySQL을 사용하여 기능을 구현했다. 해당 기능은 이체 트랜잭션을 분리하여 발생한 데이터 정합성 문제를 해결하기 위해 이체 발생 로그를 저장하는 기능이다. 하지만 코드 리뷰에서 데이터가 오래 유지되지 않고 금방 사라져도 되는 데이터라는 점에서 Redis와 같은 메모리 기반의 DB 사용하면 좋겠다는 리뷰를 받았다. 이전에도 Redis를 사용하면 된다고 생각했지만 delete 연산 때문에 사용하지 않은 것인데 뭔가 다른 방법이 필요했다. 현재 producer, consumer 구조를 사용하고 있기에 Redis를 해당 구조에서 사용할 방법을 찾아보았다.Redis Stream찾아보니 Redis가 지원하는 많은 데이터 형식 중 Stream이라는 ..

    Spring Security + JWT 적용하기(3) - 게시판 만들기(12)

    로그인 구현 마지막 기능으로 로그아웃과 내 개인적인 보안 강화?를 적용해 보겠다. 우선 내 로그인 로직은 클라이언트가 로그인을 한다. 로그인 성공하면 accessToken, refreshToken을 건네준다. accessToken이 만료되면 로그인 유지를 위해 refreshToken으로 재발급 요청을 보낸다. refreshToken이 유효하면 accessToken을 발급한다. refreshToken이 유효하지 않다면 토큰을 만료시키고 강제 로그아웃 처리를 한다. 크게 이런 흐름이다. 내가 생각한 나름의 보안 강화는 4번에 적용시켰고, refreshToken이 유효해도 accessToken이 유효하지 않다면 비정상적인 접근으로 판단하여 강제 로그아웃 처리를 하였다. 이후 해당 accessToken은 따로 ..