인증 & 보안
Google OAuth2 적용하기
베꺼
2025. 12. 9. 13:17
* 2025/12/09 기준
구글 클라우드 프로젝트 생성 및 설정

- 만약 구글 클라우드 프로젝트가 없다면 클라우드 콘솔에서 신규 생성
- 프로젝트 생성에 시간이 소요될 수 있음
- BETA 프로젝트와 PROD 프로젝트를 각각 생성하였음


- 데이터 액세스 탭에서 조회하고자 하는 데이터 설정
- openid 및 email 추가

- 클라이언트 탭에서 신규 클라이언트 설정
- 웹 클라이언트인 경우 도메인과 redirection URI를 입력
- Spring Security의 경우 기본값은
{baseUrl}/login/oauth2/code/google
- Spring Security의 경우 기본값은
- 클라이언트 생성 후 클라이언트 ID와 secret(보안 비밀번호) 확인
Google ID Token 포맷
{
"iss": "https://accounts.google.com",
"azp": "1234987819200.apps.googleusercontent.com",
"aud": "1234987819200.apps.googleusercontent.com",
"sub": "10769150350006150715113082367",
"at_hash": "HK6E_P6Dh8Y93mRNtsDB1Q",
"hd": "example.com",
"email": "jsmith@example.com",
"email_verified": "true",
"iat": 1353601026,
"exp": 1353604926,
"nonce": "0394852-3190485-2490358"
}
- 기본으로 제공되는 데이터는
aud,exp,iat,iss,sub - 상세 설명은 문서 참고
email은 고유한 값이 아니며 변동될 수 있으므로 사용자 식별을 위한 고유키는sub값을 사용해야 함
Spring Security 설정
- 해당 내용은 Baeldung에서 잘 설명되어 있음
- Spring Security 공식 가이드도 참고