Spring Boot + Security로 Oauth 공부하기 (with JWT)
https://www.youtube.com/watch?v=xsmKOo-sJ3c&list=PLJkjrxxiBSFALedMwcqDw_BPaJ3qqbWeB
개발자 유미님 유튜브를 보고 공부한 내용을 정리한다

build.gradle

  implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
  implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
  implementation 'org.springframework.boot:spring-boot-starter-security'
  implementation 'org.springframework.boot:spring-boot-starter-web'
  compileOnly 'org.projectlombok:lombok'
  developmentOnly 'org.springframework.boot:spring-boot-devtools'
  runtimeOnly 'com.mysql:mysql-connector-j'
  annotationProcessor 'org.projectlombok:lombok'
  testImplementation 'org.springframework.boot:spring-boot-starter-test'
  testImplementation 'org.springframework.security:spring-security-test'

JWT를 위한 의존성 추가

implementation 'io.jsonwebtoken:jjwt-api:0.12.3'
implementation 'io.jsonwebtoken:jjwt-impl:0.12.3'
implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3'

jjwt 의존성을 추가해준다
버전마다 구현방법이 많이 다르기 때문에 다른 버전을 사용한다면 다른 방식으로 구현해야한다

나는 0.11.3버전으로 주로 개발했었는데...
나중에 0.11.3버전과 0.12.3버전 중에 더 편한 방법으로 선택해야겠다


OAuth2LoginAuthenticationFilter

OAuth2LoginAuthenticationFilter : 외부서버 인증에 설정할 redirect_uri

/login/oauth2/code/서비스명

Google Oauth : /login/oauth2/code/google


Oauth2 클라이언트 구현해야하는 것

OAuth2UserDetailService
OAuth2UserDetail
LoginSuccessHandler


JWT 구현해야하는 것

JwtFilter
JwtUtil : 발급 및 검증

profile
Backend Developer

0개의 댓글