728x90
반응형

JWT 5

Spring Boot OpenAPI 3.0 + Swagger version 3 적용 및 설정하기, Swagger에 JWT 기능 설정하기

이번 프로젝트를 진행하면서 API 문서 정리가 요구되었고 Swagger 3.0 버전을 적용하여 개발한 API를 정리하고 테스트할 수 있도록 설정하였다. 그에 대한 과정을 정리해보고자 한다. ▶ build.gradle Swagger dependency 적용해주기 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' ▶ OpenAPI 3.0 + Swagger 3.0 Spring Boot에 설정하기 : @OpenAPIDefinition info : 해당 Swagger 페이지가 무엇을 나타내는지 알려주기 위해 작성해준다. @OpenAPIDefinition( info = @Info(title = "User-Service API 명세서",..

Spring/API 2023.06.21

[SpringBoot] SpringBoot + SpringSecurity + JWT + Redis (회원가입 / 로그인 구현) (2)

https://wonsjung.tistory.com/453 [SpringBoot] SpringBoot + SpringSecurity + JWT (회원가입 / 로그인 구현) 본 프로젝트를 진행할 때 처음에는 SpringSecurity + Oauth2를 이용한 로그인을 구현하려 했으나 방향성이 바뀌어 일반적인 사용자 정보를 입력한 회원가입 + 로그인을 구현하게 되었다. 회원가입 및 wonsjung.tistory.com 위 게시글은 지난 게시글로 Spring Security로 JWT를 발급하는 과정까지만 작성했었다. 오늘 작성하는 현재의 글은 Access Token의 만료 시간이 다 되었을 경우 Refresh Token이 유효한지 검사하고 유효하다면 Access Token을 재발급하는 과정이다. 또한, 전 게..

2022/2022-1 2022.08.18

[SpringBoot] SpringBoot + SpringSecurity + JWT (회원가입 / 로그인 구현)

본 프로젝트를 진행할 때 처음에는 SpringSecurity + Oauth2를 이용한 로그인을 구현하려 했으나 방향성이 바뀌어 일반적인 사용자 정보를 입력한 회원가입 + 로그인을 구현하게 되었다. 회원가입 및 로그인 모두 클라이언트로부터 API를 전송받는 방식으로 진행하였다. 1. Spring Security 처리 과정 공부할 때 작성했던 Session 기반 로그인과정과 JWT 기반 로그인과정 글이 있다. 본 게시글과 차이점은 아래 게시글들은 구글링으로 다른 분들의 다양한 블로그 글들을 참고하여 따라해본 예제이고, 현재 게시글은 거기에 더해 실제 프로젝트에 적용하게 된 구현코드이다. 아래 게시글에서는 현재 스프링에서 지원하지 않는 인터페이스도 존재하여 그 부분까지 수정하였다. https://wonsjun..

2022/2022-1 2022.08.10

[SpringBoot] SpringBoot + SpringSecurity + JWT 구현하기

현대 웹 서비스에서는 토큰을 사용하여 사용자들의 인증 작업을 처리하는 것이 가장 좋은 방법이다. 본 프로젝트에서 요구하는 것 또한 JWT + Oauth2 구현이며 이번 글은 토큰 기반의 인증 시스템에서 주로 사용하는 JWT(Json Web Token)에 대해 SpringBoot와 Spring Security 기반으로 제작한다. 1. Spring Security 처리 과정 기본적으로 Spring Security는 Session 기반으로 동작하고 그에 대한 글은 전에 게시한 적이 있다. 자세한 처리과정과 구현은 아래 게시글에서 확인할 수 있다. https://wonsjung.tistory.com/443 [SpringBoot] Spring Security 처리 과정 1. Spring Security 처리 과정..

2022/2022-1 2022.07.20

JWT(Json Web Token)란?

JWT 란? Json Web Token의 약자로 모바일이나 웹의 사용자 인증을 위해 암호화된 토큰을 의미한다. JWT 정보를 request에 담아 사용자의 정보 열람, 수정 등 개인적인 작업 등을 수행할 수 있게 한다. JWT는 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달한다. JWT는 아래의 로직을 따라서 처리된다. 애플리케이션이 실행될 때, JWT를 static 변수와 로컬 스토리지에 저장하게 된다. static 변수에 저장되는 이유는 HTTP 통신을 할 때마다 JWT를 HTTP 헤더에 담아서 보내야하는데, 이를 로컬 스토리지에서 계속 불러오면 오버헤드가 발생하기 때문이다. 클라이언트에서 JWT를 포함해 요청을 보내면 서버는 허가된 JWT인지를 검사한다. 또한..

2022/2022-1 2022.07.19
728x90
반응형