SpringBoot [스프링부트] Spring Security Oauth2 만들기(2)
Google Oauth2를 사용할 예정이므로, 구글 서비스를 먼저 등록하겠습니다. 순서대로 진행하시면 됩니다. 밑에 URL에 들어갑니다.
https://console.cloud.google.com/
1. Google Console 등록하기
- 새 프로젝트를 만들어줍니다.
- 프로젝트 이름을 설정해줍니다.
- Ξ -> API 및 서비스 -> 사용자 인증 정보를 눌러줍니다.
- 사용자 인증 정보 만들기 -> Oauth 클라이언트 ID
- 동의 화면 구성을 눌러줍니다. 이때 동의 화면은 google 로그인할 때 나오는 약관 동의 화면입니다.
- 해당 부분만 채우고 저장 후 계속을 눌러줍니다.
- 범위 추가 또는 삭제 -> 위의 3개를 선택해줍니다. 그 후 저장 후 계속을 눌러 마무리합니다.
- 아까의 사용자 인증 정보 만들기 -> Oauth2 클라이언트 ID를 누르고 아래와 같이 작성해줍니다.
- 승인된 리디렉션 URI
1. 서비스에서 파라미터로 인증 정보를 주었을 때 인증이 성공한다면 리다이렉트 할 URL입니다.
2. 스프링 부트 2.xx 버전에서는 시큐리티에서 기본적으로 {도메인}/login/oauth2/code/{소셜 서비스 코드}를 지원해줍니다.
3. 시큐리티가 이미 구현을 해놓았기 때문에 해당 URL을 담당하는 Controller제작은 안 해도 됩니다.
- 만들어진 것을 클릭하여 클라이언트 ID와 보안 비밀을 확인해줍니다. 해당 부분은 보안상의 문제로 외부로 유출해서는 안됩니다.
2. application.yml, application-oauth2.yml 작성
- 가장 먼저 .gitignore에 application-oauth2.yml을 추가해줍니다. (보안상의 이슈로 Github에 올리지 않습니다.)
- application.yml 작성 (DB는 H2를 디펜던시로 받았기 때문에 내장 메모리 H2 DB로 돌아갈 예정입니다.)
spring:
profiles:
include: oauth
datasource:
url:
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create
- application-oauth.yml
spring:
security:
oauth2:
client:
registration:
google:
client-id: google 사용자 정보에서 만들었던 client-id 작성
client-secret: client-secret 작성
scope: profile, email
여기까지 전반적인 설정은 모두 끝이 났습니다. 다음은 Entitny와 Service를 만들어보겠습니다. 감사합니다.
모든 코드는 아래 링크에서 확인 가능합니다.
https://github.com/rlaehdals/Oauth2Example
'SpringBoot > spring security' 카테고리의 다른 글
SpringBoot [스프링부트] Spring Security JWT 만들기(0) (0) | 2022.01.22 |
---|---|
SpringBoot [스프링부트] Spring Security Oauth2 만들기 (5) (0) | 2022.01.22 |
SpringBoot [스프링부트] Spring Security Oauth2 만들기 (4) (0) | 2022.01.21 |
SpringBoot [스프링부트] Sprig Security Oauth2 만들기(3) (0) | 2022.01.20 |
SpringBoot [스프링부트] Spring Security Oauth2 만들기(1) (0) | 2022.01.20 |
댓글
이 글 공유하기
다른 글
-
SpringBoot [스프링부트] Spring Security Oauth2 만들기 (5)
SpringBoot [스프링부트] Spring Security Oauth2 만들기 (5)
2022.01.22 -
SpringBoot [스프링부트] Spring Security Oauth2 만들기 (4)
SpringBoot [스프링부트] Spring Security Oauth2 만들기 (4)
2022.01.21 -
SpringBoot [스프링부트] Sprig Security Oauth2 만들기(3)
SpringBoot [스프링부트] Sprig Security Oauth2 만들기(3)
2022.01.20 -
SpringBoot [스프링부트] Spring Security Oauth2 만들기(1)
SpringBoot [스프링부트] Spring Security Oauth2 만들기(1)
2022.01.20