본문 바로가기

springboot5

Spring Boot 3.1.x 으로 RestFul API 서버 만들기(3) 저번시간에 이어 JWT를 이용하여 로그인 API를 만들어보고자 한다. 우선 내가 생각한 인증 프로세스는 대략 이렇다. 최초 로그인시에는 사용자의 아이디와 패스워드를 받은 후 검증을 통해 JWT 객체를 반환하고, 이후 또 다른 API 요청시 발급받은 JWT를 함께 보낸다. 1. 먼저 POST /login 을 생성한다. /** * 로그인수행 * @return */ @PostMapping("/login") public ResponseEntity loginSuccess(@RequestBody AuthDto authDto) { TokenDto token = userService.loginProcess(authDto.getLoginId(), authDto.getPassword()); return ResponseEn.. 2023. 8. 31.
Spring Boot 3.1.x 으로 RestFul API 서버 만들기(2) 지난 시간에 이어 오늘은 JWT 생성과, Spring security 필터 설정을 간단히 해보겠다. 일단 JWT를 알아보기전에 익혀두어야 할 개념이 있다. (아랫글 참조) https://ssmyefrin.tistory.com/11 HTTP 인증에 대한 처리 방식 우리가 보통 Web 을 개발할때, 유저가 누구인지 확인하는 로그인(Authentication) 절차는 필수이다. 이 때 보통 Http 요청 방식으로 많이 처리하게 되는데 나는 서버기반인증 과 토큰기반인증 크게 2개 ssmyefrin.tistory.com 나는 토큰인증방식을 사용할 예정이고, 토큰 발행과 검증을 위한 클래스를 생성 후 Security 설정을 하겠다. 1. build.gradle 에 JWT를 위한 라이브러리를 추가한다. // JWT.. 2023. 8. 28.
Spring Boot 3.1.x 으로 RestFul API 서버 만들기(1) 지난시간에 만들었던, Swagger 프로젝트에 이어 endpoint 와 DB 연동후 API 통신이 가능한 서버를 구현해보겠다. [ 개발스펙 ] ✔ OS : MAC Intel Ventura 13.2.1 ✔ Tool : IntelliJ IDEA ✔ JDK : OpenJDK 17 ✔ Spring Boot 3.1.2 ✔ Gradle/Groovy DB는 MySQL 로 하였고, Docker로 설치 후 구동하였다. (아래글 참조) https://ssmyefrin.tistory.com/8 Docker 로 MySQL 설치하기 ✔ MAC OS 기준입니다. 1. Docker 를 쓰기 위해서는 Docker Hub 계정을 생성해야한다. https://hub.docker.com/ Docker Hub Container Image.. 2023. 8. 21.
Spring Boot 3.1.x 환경세팅부터 Swagger 까지(2) 지난시간에 이어 오늘은 swagger 페이지까지 띄워보겠다. 보통 Swagger UI 를 위해 Springfox 와 SpringDoc 2가지를 많이 쓴다. 그러나 Springfox 경우 2020년 이후로 업데이트가 되지 않은 반면 SpringDoc은 꾸준히 업데이트 중이다.(springDoc 공식 문서 참조) 또한, Spring boot 3.x 버전대에는 Springfox는 지원되지 않으므로, SpringDoc을 이용하여 Swagger를 구현해보도록 하겠다. 1. build.gradle 에 다음 의존성을 추가한다. implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0' 2. Swagger Class 를 추가한다. @OpenAPI.. 2023. 8. 17.