본 포스팅은 정은구님의 Spring Boot JWT Tutorial 강의를 참고하여 작성하였습니다. 인프런 내에서도 무료 강의이니 시간 되시는 분은 시청하시는 것을 추천드립니다. 소스 코드는 여기 있습니다. (commit hash: d6cd1c4) > git clone https://github.com/lcalmsky/jwt-tutorial.git > git checkout d6cd1c4 Overview 회원 가입 기능을 개발하고 권한 검증을 확인합니다. 유틸 클래스 작성 유틸리티 메서드 사용을 위해 SecurityUtils 클래스를 생성합니다. /src/main/java/io/lcalmsky/jwttutorial/util/SecurityUtils.java package io.lcalmsky.jwttut..
본 포스팅은 백기선님의 스프링과 JPA 기반 웹 애플리케이션 개발 강의를 참고하여 작성하였습니다. 소스 코드는 여기 있습니다. (branch: feature/8) Overview 회원 가입시 전송한 이메일을 확인하여 회원을 인증하는 절차를 개발합니다. 회원 가입시 다시 서버로 요청할 수 있게 토큰을 포함한 링크를 전송하고 사용자가 해당 링크를 클릭했을 때 토큰이 일치하면 가입 완료 처리합니다. 이메일 인증을 하는 이유는 무작위로 생성하는 이메일 계정을 허용하지 않기 위함이고, 서비스 내에서의 메일 전송 기능을 제대로 활용할 수 없기 때문입니다. 이메일 인증을 대체할 수 있는 방법은 소셜 인증 등이 있습니다. 인증 링크로 접근했을 때 노출될 화면과 인증 로직을 개발해야 합니다. 이메일 인증 개발 입력 값에..
본 포스팅은 백기선님의 스프링과 JPA 기반 웹 애플리케이션 개발 강의를 참고하여 작성하였습니다. 소스 코드는 여기 있습니다. (branch: feature/6) Overview 지금까지 작성한 코드를 리펙터링합니다. 리펙터링 전에 테스트 코드를 작성하면 리펙터링 이후에도 견고한 테스트 코드를 작성했는지 추가로 확인할 수 있습니다. 테스트 할 것을 정의합니다. 회원 가입시 이상한 값이 입력된 경우 다시 회원 가입 화면으로 리다이렉트 하는지 확인 에러가 잘 노출 되는지 확인 회원 가입시 정상적인 값이 입력된 경우 가입한 회원 데이터가 존재하는지 확인 이메일이 보내지는지 확인 리팩터링시 고려해야할 부분입니다. 메서드의 길이 너무 길면 메서드를 나눔 코드 가독성 코드의 위치 객체들 사이의 의존 관계 클래스의 ..
본 포스팅은 백기선님의 스프링과 JPA 기반 웹 애플리케이션 개발 강의를 참고하여 작성하였습니다. 소스 코드는 여기 있습니다. (branch: feature/5) Overview 회원 가입 폼을 검증하는 방법과 회원 가입을 처리하는 방법에 대해 공부합니다. 애너테이션을 이용한 검증과 커스텀 검증을 모두 사용하고, 에러가 있을 경우 회원 가입을 처리하지 않습니다. 모든 값이 유효할 회원 정보를 저장하고, 이메일 정보를 발송한 뒤 홈으로 이동하는 과정까지 개발합니다. Prerequisite Dependencies build.gradle의 dependencies에 spring-boot-starter-validation 패키지를 추가합니다. dependencies { // 생략 implementation 'or..
- Total
- Today
- Yesterday
- JPA
- 스프링 부트 회원 가입
- 스프링 부트
- 함께 자라기 후기
- 스프링 데이터 jpa
- 스프링부트
- Spring Boot Tutorial
- 헥사고날 아키텍처
- Java
- @ManyToOne
- r
- Spring Data JPA
- gRPC
- 스프링 부트 애플리케이션
- Spring Boot
- 함께 자라기
- leetcode
- Linux
- proto3
- spring boot application
- 클린 아키텍처
- spring boot app
- intellij
- JSON
- 알고리즘
- Jackson
- QueryDSL
- spring boot jwt
- 스프링 부트 튜토리얼
- Spring Boot JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |