전체 글(122)
-
Spring Security jwt 방식 - access token+ refresh token(2)
전체코드 : https://github.com/gks930620/spring_securty_all https://brilliantdevelop.tistory.com/225에 이어 refresh token을 추가해토큰재발급과 로그아웃기능을 구현해보자. 설정파일application.ymlspring: datasource: url: jdbc:h2:mem:security driver-class-name: org.h2.Driver username: sa password: jpa: hibernate: ddl-auto: create properties: hibernate: show_sql: true format_sql: true ..
2025.03.12 -
Spring Security jwt 방식 - access_token(1)
전체코드 : https://github.com/gks930620/spring_securty_all 프로젝트 세팅https://start.spring.io/ 에서 프로젝트를 생성합니다. 필요한 library는Spring Data JDBC,H2 Database, Spring Data JPA, Spring Web, Thymeleaf,Spring Boot Devtools , Lombok, Spring security 입니다. jwt, dotenv(.env 환경변수 설정) 라이브러리는 buuild.gradle에 직접 추가합니다.implementation 'io.jsonwebtoken:jjwt-api:0.12.3'implementation 'io.jsonwebtoken:jjwt-impl:0.12.3'im..
2025.03.06 -
Spring Security jwt 방식 - jwt 사용이유와 session방식과의 차이 (1)
전체코드 : https://github.com/gks930620/spring_securty_all JWT 를 이용한 토큰인증방식 JWT라는 거는 JSON Web Token의 약자로서 토큰의 하나의 형식 또는 종류라 할 수 있다.토큰인증방식을 꼭 JWT를 쓸 필요는 없지만 JWT가 많이 쓰인다.토큰인증방식은 다음과 같은 방식으로 진행된다. 1. 사용자가 로그인하면 JWT를 발급 2. 이후 요청마다 JWT를 HTTP Header에 포함 (Authorization: Bearer ) 3. 서버는 토큰을 검증하여 사용자를 인증 토큰인증방식이 필요한 이유기존의 세션방식 말고 왜 토큰인증방식이 필요한가? 1. 서버확장성 세션방식은 사용자 수가 많아질수록 서버의 세션 메모리 부담이 증가하고하나의 서버가 세션을 ..
2025.03.05 -
Spring Security session방식 Oauth2로그인- 구글로그인 두개이상의 provider(5)
전체코드 : https://github.com/gks930620/spring_securty_all yml파일에서 client registration의 google을 추가합니다참고로 google 같은 경우 provider 값을 security가 갖고있기 때문에 따로 설정해주지 않아도 됩니다. 동작 방식은 https://brilliantdevelop.tistory.com/218과 같습니다. dotenv: enabled: true # .env파일설정. KAKAO_CLIENT_ID 직접 쓰려면 없어도됨.spring: datasource: url: jdbc:h2:mem:security driver-class-name: org.h2.Driver username: sa passwo..
2025.02.28 -
Spring Security session방식 Oauth2로그인 - 카카오로그인처리(4)
전체코드 : https://github.com/gks930620/spring_securty_all 현재 일반회원가입까지 구현한 상태다.카카오로그인사용자는 회원가입이 없다.( 실제론, 첫 카카오 로그인 시 우리서버에 회원가입이 자동으로 이루어진다.)일반회원 FORM 로그인처리와 카카오로그인처리를 해보자. 로그인사용자정보로그인 성공 후 사용자정보객체를 만들어야 한다. 기본 security방식에서 session에 저장되는 일반FORM로그인사용자를 UserDetials를 구현한 CustomUserDetails를 만들었었다. 카카오 로그인 시 session에 저장되는 객체는 Oauth2User 타입이다.카카오 로그인 객체를 Oauth2User를 구현한 CustomOauth2User 를 만들어 저장하면 된다..
2025.02.28 -
Spring Security session방식 OAUTH2로그인- 일반FORM회원가입 설정(3)
전체코드 : https://github.com/gks930620/spring_securty_all 동작방식을 이해하고, 카카오개발자 센터에 애플리케이션 등록(+ 앱키,redirect-uri 등)을 완료했다면이제 구현을 해보자. 개념사용자 입장에서 우리사이트에서 따로 회원가입을 안하고 카카오로 로그인을 하지만카카오로 로그인을 처음 했을 때 우리사이트에 회원가입한 것처럼 DB에 넣어야한다.단지 email, nickname 등을 카카오에서 가지고 올 뿐.즉, 카카오로그인사용자는 우리사이트의 회원가입과정만 진행하지 않는거지내부적으로는 카카오로그인 했을 때 우리서버DB에 가입되고 일반FORM회원이랑 똑같이 사이트를 이용하게된다. 세팅파일application.ymldotenv: enabled: true..
2025.02.26