helloworld
jwt토큰 만들어서 응답해주기 본문
프로젝트를 생성 할 때 jwt라이브러리를 넣어줬었다.
override한 successfulAuthentication 메서드에서 가지고 있는 파라미터인 Authentication 객체를
PrincipalDetails 으로 다운캐스팅해 놓는다.
String jwtToken = JWT.create()
.withSubject("cos토큰")//토큰이름
.withExpiresAt(new Date(System.currentTimeMillis()+(60000*10)))//토큰만료시간 현재시간+10분 60초*10
.withClaim("id",principalDetails.getUsers().getId())
.withClaim("username",principalDetails.getUsers().getUsername())
.sign(Algorithm.HMAC512("cos"));//사인
.withSubject("cos토큰")//토큰이름
.withExpiresAt(new Date(System.currentTimeMillis()+(60000*10)))//토큰만료시간 현재시간+10분 60초*10
.withClaim("id",principalDetails.getUsers().getId())
.withClaim("username",principalDetails.getUsers().getUsername())
.sign(Algorithm.HMAC512("cos"));//사인
이런식으로 토큰을 생성 해준 후
response.addHeader("Authorization","Bearer "+jwtToken);
헤더에 달아 준다. 중요 Bearer뒤에는 무조건 공백을 넣어주라고 한다.
그 후 로그인을 해보면

짠 토큰이 생긴다. Bearer 뒤의 온 토큰을 복사하여 jwt.io에 넣어보면

토큰 생성 완료..!
'jwt' 카테고리의 다른 글
| jwt를 위한 강제 로그인 (1) | 2023.10.20 |
|---|---|
| jwt 임시 토큰 만들어보기 (2) | 2023.10.19 |
| JWT 를 위한 Security 설정 (0) | 2023.10.19 |
| JWT 구조 이해 (2) | 2023.10.18 |
| RFC 문서 (0) | 2023.10.18 |