쇼핑몰의 물건을 등록할 경우, 어떤 데이터 정보들이 필요할까. 당장 Front에 보이는 정보들도 하나하나 세어본다면 상당히 많은 항목들을 차지한다. 검색했을 경우 나오는 태그들도 별개로 입력이 될 수 있고, 비슷한 제품을 홍보하기 위한 코드들이 존재하는 경우도 많다. 네이버쇼핑에 물건을 한번보자 보이는 정보들을 나열해보자면 아래와 같다. 이미지 카테고리 상품이름 상품배송종류 할인율 가격 할인정보 포인트정보 최대구매개수 배송정보 개수 배송정보 해당 정보들이 어떤 테이블을 가지고 어떤 관계를 가지는지는 알 수 없지만, 얼핏 보더라도 단순히 한두가지의 테이블이 아니라는 것은 알 수 있다. DB를 설계한다면 매핑관계도 신경써야하며, 최소한의 데이터를 쓰기위해 중복될 수 있는 정보들은 최대한 추려나가야 한다. 테..
OAuth2LoginSuccessHandler 수정사항 해당 메서드의 대해서 jwtProvider에 메서드에 대해서 매치하지 않는 부분들을 수정했습니다. @Slf4j @Component @RequiredArgsConstructor public class OAuth2LoginSuccessHandler implements AuthenticationSuccessHandler { private final JwtProvider jwtProvider; private final UserRepository userRepository; @Override public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, ..
OAuth2 로직 구현 중에 해당 오류 문구가 발생했다. org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value : com.thecp.dev.user.entity.User.name; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value : com.thecp.dev.user.entity.User.name null을 허용하지 않는 entity 개체에 null 값이 들어가서 오류가 발생하는 것으로 보인다. null이 가능..
이전 포스팅에서 간단한 원리들과 네이버에서 클라이언트키와 비밀키를 발급받는 방법을 확인했다. 해당 포스팅에서는 코드들을 보여주고, 코드에 대한 간단한 설명과 함께 OAuth를 마무리하고, 작업중인 개인 프로젝트에서 적용시킬 예정이다. 코드 자체들은 git 해당 주소에 올라와 있다. https://github.com/HWOwoo/OauthTest/ GitHub - HWOwoo/OauthTest: Oauth 2.0 적용 Oauth 2.0 적용. Contribute to HWOwoo/OauthTest development by creating an account on GitHub. github.com User Entity @Getter @NoArgsConstructor(access = AccessLevel.P..
제작해놓은 프론트단에 로그인 화면이다. 간편 로그인 kakao, google, naver를 구현할 생각이다. apple은 아이폰을 쓰고있어도 잘 사용하지 않게되는걸 보니 사용량이 적을 것 같다. 해당 로그인 기능이 작동하면, OAuth2 간편 로그인 -> 아이디 / 비밀번호 찾기 순으로 구현 할 생각이다. 우리는 jwt를 사용한다. 아래와 같은 dependencies가 필요하다 // JWT implementation 'io.jsonwebtoken:jjwt-api:0.11.2' implementation 'io.jsonwebtoken:jjwt-impl:0.11.2' implementation 'io.jsonwebtoken:jjwt-jackson:0.11.2' implementation 'io.jsonweb..
React를 사용해 어느정도 클라이언트단의 뼈대는 맞추었다. 해당 폼들에 기능을 추가하는 작업을 해야하는데, 우리는 SpringBoot로 Restful API를 사용하여 진행 할 것 이다. SpringBoot 구조 User Model @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity @Builder @Table(name = "USERS") @AllArgsConstructor public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "user_id") private Long id; private String email; // 이메일 ..
https://github.com/HWOwoo/GiftBox_Project GitHub - HWOwoo/GiftBox_Project Contribute to HWOwoo/GiftBox_Project development by creating an account on GitHub. github.com 15개월전에 혼자서 시작한 웹 프로젝트로, 아는거 하나 없이 기술 블로그를 따라해가며 만든 프로젝트 jpa를 사용하지않고 mybatis를 사용중이고, 현재로서는 조금 오래된 기술인 JSP (상위기술격인 thymeleaf)와 단순히 passwordencdoer만을 사용하기 위한 security도 적용되있다. 옛날 코드들을 볼때 고칠점이 없다고 생각하면 전혀 발전이 없다라는 말도 있는데, 이건 뭐 싹 다 갈아엎어..
https://developers.naver.com/products/login/api/api.md 네이버 로그인 - INTRO 환영합니다 네이버 로그인의 올바른 적용방법을 알아볼까요? 네이버 로그인을 통해 신규 회원을 늘리고, 기존 회원은 간편하게 로그인하게 하려면 제대로 적용하는 것이 중요합니다! 이에 올바 developers.naver.com 구글, 네이버, 카카오, 깃허브 여러가지가 있지만, 해당 사항에서는 일단 네이버 로그인을 위주로 포스팅 하려고 한다. 국내에서 굵직한 IT 회사이기도 하고, 디벨로퍼에서 제공하는 기능들도 많으니 한 번 사용해보자. 위에 사이트에 들어가서 생성버튼을 누르면 아래와 같은 페이지가 나온다. 사용할 어플리케이션 이름을 작성하고 필요한 필수 정보들을 체크하자. 이 밑에는..