Jwt/Jwt 토큰만들기

Spring boot jwt토큰만들기!(2) with security

디비드킴 2021. 7. 16. 19:04

자 이제 갱신을 위한 리프레쉬 토큰을 만들어 보자
발급 절차는 똑같다 다만 토큰에 사용자 정보를 안 담고
유효시간을 엄청 길게 해 놓으면 된다!

1.service

jwtService.java

오버 로딩 기능을 사용해서 만들어주고

회원정보 없이 만들어주고
.withClaim("id",id) 제거

유효기간은 길게
.withExpiresAt(new Date(System.currentTimeMillis()+(60000*10)))


2.db 만들기/dto 만들기
메모리 엔진을 만든다
왜냐면 그냥 엔진은 너무 오래 걸려서
토큰은 빠르게 확인돼야 하기 때문이다
메모리 엔진은 컴퓨터를 껐다키면전부 날아간다
램안에 있기 때문에 빠르지만 날아간다!

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=reinstate10&logNo=130183376349

MySQL에서 테이블의 Engine 타입이 memory일 경우 속도 차이

MySQL에서 테이블의 Engine 타입이 memory일 경우와 innoDB일때의 속도 차이는 상당하다. 52600개의...

blog.naver.com


CREATE TABLE `jwtrefreshtoken`(
`id` int NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=memory DEFAULT CHARSET=utf8;

해주고 나머지는 스프링에서 만들자

jwtDto.java
vscode

크 spring 편하다

3. dao 만들기

JwtDao.java


4.serivce 만들기

jwtService.java

5.jwtLoginFilter 수정

jwtLoginFilter.java

로그인 성공 시
리프레시 토큰 -> db저장-> 헤더에 추가로 저장시켰다!

결과

postman
db

둘 다 성공!

로그아웃 시 삭제시켜주자!