JWT2 JWT (2) 스프링에서 JWT 사용하기 Gradle 의존성 추가 implementation 'com.auth0:java-jwt:4.2.1' https://mvnrepository.com/artifact/com.auth0/java-jwt/4.2.1 JWT 관련 설정 파일 생성 application-jwt.yml jwt: secretKey: access: expiration: 3600000 # 1시간 header: Authorization refresh: expiration: 1209600000 # 2주 header: Authorization-refresh jwt.secretKey 서버가 가지고 있는 개인키 암호화 알고리즘으로 HS512를 사용할 것이기 때문에, 64 bytes 이상의 영숫자 조합으로 아무렇게 작성 jwt.access.expira.. 2023. 5. 31. JWT (1) 개념 정리 JWT 란? JSON Web Token의 약자로, 인증에 필요한 정보들을 암호화시킨 JSON TOKEN을 의미한다. JSON 데이터를 Base64 URL-safe Encode를 통해 인코딩하여 직렬화한 것이고, 토큰 내부에는 개인키를 통한 전자 서명이 포함된다. JWT를 통한 인증 과정 클라이언트는 로그인 아이디와 패스워드를 입력하여 서버에 로그인 요청 서버에서 서명된 JWT 토큰을 생성하여 응답 헤더에 저장하여 클라이언트에게 반환 클라이언트는 응답으로 반환된 JWT 토큰을 사용하여 요청마다 Http Header에 JWT 토큰을 담아서 요청 서버에서는 Http Request Header의 JWT를 검증하여 토큰이 유효한지 검증 후 요청에 맞는 응답 반환 JWT의 구조 Header 보통 토큰의 타입이나 전.. 2023. 5. 31. 이전 1 다음