Spring Boot + Security로 Oauth 공부하기 (with JWT)
https://www.youtube.com/watch?v=xsmKOo-sJ3c&list=PLJkjrxxiBSFALedMwcqDw_BPaJ3qqbWeB
개발자 유미님 유튜브를 보고 공부한 내용을 정리한다
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'
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 : 외부서버 인증에 설정할 redirect_uri
/login/oauth2/code/서비스명
Google Oauth : /login/oauth2/code/google
OAuth2UserDetailService
OAuth2UserDetail
LoginSuccessHandler
JwtFilter
JwtUtil
: 발급 및 검증