구글 서비스 등록
https://console.cloud.google.com
- 새 프로젝트 선택, 만들기
- API 및 서비스에서 사용자 인증 정보 만들기 - OAuth 클라이언트 ID (먼저 동의 화면 구성)
- 애플리케이션 유형 선택
- 승인된 리다이렉션 URI 값 등록 http://localhost:8080/login/oauth2/code/google
- 서비스에서 파라미터로 인증 정보 줄 때 인증 성공 시 구글에서 리다이렉트할 URL
- 기본으로 {도메인}/login/oauth2/code/{소셜서비스코드}로 리다이렉트 URL 지원함
- 리다이렉트 URL 지원하는 Controller는 이미 시큐리티에서 구현해둠
- AWS 서버에 배포하게 되면 localhost 외의 주소 추가해야 함
클라이언트 ID, 클라이언트 보안 비밀 코드 프로젝트에서 설정하기
src/main/resources에 application-oauth.properties 파일 생성
spring.security.oauth2.client.registration.google.client-id=클라이언트 ID
spring.security.oauth2.client.registration.google.client-secret=클라이언트 보안 비밀
spring.security.oauth2.client.registration.google.scope=profile,email
- scope의 기본값은 openid, profile, email
- 구글은 OpenId Provider / 네이버, 카카오는 아님 -> 하나만 만들려고 openid scope를 빼고 등록함
- properties의 이름이 application-xxx.properties면 xxx라는 이름의 profile이 생성됨
- profile=xxx로 호출 시 해당 properties의 설정들을 가져올 수 있음
application.properties에 코드 추가
spring.profiles.include=oauth
.gitignore 등록
# Created by .ignore support plugin (hsz.mobi)
.gradle
.idea
application-oauth.properties