분류 전체보기58 JWT 활용한 로그인 구현 - 2 지난 글에서는 로그인 기능을 사용하기 위해 Users 엔티티를 추가, 수정했다. 이번엔 JWT Token 방식을 위한 클래스들을 정리해보고자 한다. JWT란? Json Web Token의 줄임말로 Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token이다. JWT 구조 - Header 토큰의 타입을 지정하는 type과 알고리즘 방식을 지정하며, 서명 및 토큰 검증에 사용되는 alg로 구성된다. - PayLoad 토큰에서 사용할 정보의 조각들인 Claim이 담겨있다. - Signature 토큰을 인코딩하거나 유효성 검증을 할 때 사용하는 고유한 암호화 코드이다. JwtUtil.java Jwt Token 방식을 사용할 때 필요한 기능들을 정리해놓은 클래스이다. public.. 2023. 8. 31. JWT 활용한 로그인 구현 - 1 프로젝트를 진행할 때 나는 회원 관련 기능들이 가장 까다로웠다. Token을 사용하고 Spring Security를 사용하고 비밀번호랑 휴대폰번호를 암호화하는 과정들에서 설정할 게 너무 많게 느껴졌다. 그 전에는 Java11과 SpringBoot2 버전을 사용했는데 버전을 다 올려서 개발하다보니 deprecated 된 것들이 많아서 찾아보는데 이전 버전에 관련된 글들이 많아 구글링하는 것도 좀 어려웠다.. 실무를 하면서 개발했던거랑 코틀린을 사용해서 개발했던거랑 이번에 개발하는거랑 방식이 조금씩 다 달라서 어떤게 바뀌었는지 파악하는게 중요함을 다시 한 번 깨달았다. 사실 회원가입, 로그인 구현을 여러 번 해보았지만 할 때마다 어렵다고 느껴 이번에도 실무할 때 개발했던 것을 참고하고, 구글링하면서 개발했는.. 2023. 8. 30. Enum 생성 도메인을 설계할 때 Enum을 사용하고자 하는 필드들이 몇 있었다. Rest API를 만들 때 enum을 사용하여 값을 받을 때 @JsonCreator와 @JsonValue를 사용하여 직렬화와 역직렬화를 하였다. 직렬화란 객체를 전송 가능한 형태로 바꿔주는 것을 의미하고 역직렬화는 그 데이터들을 다시 자바 객체로 변화해주는 것으로 알면 된다. 우선 작성한 코드를 살펴보자. @Getter @RequiredArgsConstructor public enum BoardCategory implements IdEnum { PET("PET", "반려동물"), FOOD("FOOD", "음식"), TRAVEL("TRAVEL", "여행"); private final String id; private final String.. 2023. 8. 23. BaseEntity 생성하기 엔티티를 만들 때 생성일, 수정일, 생성자, 수정자 필드가 공통으로 들어가는데 매번 엔티티를 생성할 때 마다 작성해주지 않고 공통적으로 처리해주기 위해 BaseEntity를 만들어 사용했다. @Setter @Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public class BaseEntity { @CreatedBy @Column(updatable = false) protected Long createdBy; @CreatedDate @Column(updatable = false) protected LocalDateTime createdDate; @LastModifiedBy @Column protected Long modi.. 2023. 8. 19. 이전 1 ··· 8 9 10 11 12 13 14 15 다음