본문 바로가기

jwt

(3)
jwt 로그인 구현 로그인 구현 순서 :  1. dto와 컨트롤러를 통해 이메일, 비밀번호를 전달받는다LoginRequest.class (DTO)import lombok.Builder;import lombok.Getter;import lombok.NoArgsConstructor;@NoArgsConstructor@Getterpublic class LoginRequest { private String email; private String password; @Builder(builderMethodName = "testBuilder") public LoginRequest(String email, String password) { this.email = email; this.password = password; }} Log..
jwt 토큰 정보 읽어오기 & 예외처리 1. 토큰 분석(parse)토큰을 생성할 때 사용한 secret Key를 전달하여 JwtParser를 생성하고, JwtParser의 parser() 함수를 이용하여 토큰을 분석한다.private Jws parseToken(final String token) { return Jwts.parser() //.setSigningKey(secretKey) -> deprecation .verifyWith(secretKey) .build() //.parseClaimsJws(token)// -> deprecation .parse(token) .accept(Jws.CLAIMS); }verifyWith(Key key) : jwt 생성 시 사용한 시크릿 키build() : JwtPa..
jwt token 생성 JWT 토큰 암호화 알고리즘에는 HS256과 RS256이 주로 사용된다.JWT 라이브러리의 암호화 알고리즘 기본값은 HS256 이므로 이에 맞게 secret key를 생성하자. HS256(HMAC with SHA256) : 원본 메시지와 공유된 메시지를 비교하여 변조 여부를 확인하는 것이 MAC(Message Authentication Code)이며, HMAC는 해시 메시지를 이용한다. SHA는 해시를 이용한 암호화 알고리즘으로 256길이의 해시값(64자리 문자열)을 생성하며, 단방향 암호화로 원본 복구가 불가능하다. 즉, SHA256 해시값을 이용하여 메시지 변조 여부를 확인하는 알고리즘이다. 따라서 JWT 토큰을 생성하기 위해선 SHA256 해시값을 HMAC 알고리즘에 적용하여 SECRET KEY를 ..