nestjs passport jwt 사용하고 있는데


1. 로그인 성공 시 엑세스 토큰, 리프레시 토큰 발급


리프레시 토큰 페이로드에는 아무 값도 담지 않음 


redis에 리프레시 토큰 :  유저 아이디 이런 형식으로 저장 ttl은 리프레시 토큰 만료시간과 동일


2. 엑세스 토큰 만료시 프론트에서 서버로 리프레시 토큰만 보내줌


유효성 검사후 redis에 해당 토큰이 있는지 확인 없으면 예외처리,


있으면 유저 아이디 꺼내서 엑세스 토큰 재발급 


3. 로그아웃 시 프론트에서 서버로 리프레시 토큰만 받아와 


유효성 검사후 redis에서 해당 리프레시 토큰 삭제 


일단 이렇게 구현했는데 


1. 사람마다 jwt 사용하는 방식이 다 다르던데 어떻게 사용하면 좋을지


예를 들어 토큰 재발급할 때도 엑세스 리프레시 둘다 받아서 둘다 재발급 하거나 


리프레시 토큰도 빈 페이로드로 두지 않고 유저 아이디를 넣어둔다거나


2. 로그아웃 시 리프레시 토큰만 받아와 검증하고 삭제하는데 


둘다 받아와 엑세스토큰만 검증하고 엑세스 토큰은 다시 남은 유효시간 계산해서 redis에 등록해서 사용하지 못하게 하던데 


이 경우 로그아웃 하려고 할때 엑세스토큰이 만료되었으면 다시 엑세스토큰을 재발급 받아서 로그아웃 해야할텐데


좀 모순되는 방법이 아닌지?


3. 현재 리프레시 토큰 페이로드는 비어있어서 따로 페이로드에 담긴 값으로 db 조회를 한다거나 하는 로직이 없는데 


리프레시 토큰을 jwt가 아닌 uuid나 난수를 발생시켜서 사용하면 어떨지 ?