Google용 외부 인증 공급자 설정
October 16, 2025 · View on GitHub
Step 1: Google OAuth 2.0 클라이언트 생성
- Google Developer Console로 이동합니다.
- 새 프로젝트를 생성하거나 기존 프로젝트를 선택합니다.
- "Credentials(자격 증명)"으로 이동한 다음 "Create Credentials(자격 증명 만들기)"를 클릭하고 "OAuth client ID"를 선택합니다.
- 메시지가 표시되면 동의 화면을 구성합니다.
- 애플리케이션 유형으로 "Web application(웹 애플리케이션)"을 선택합니다.
- 리디렉션 URI는 나중에 설정할 수 있도록 지금은 비워두고 임시로 저장합니다.Step 5 참조
- 생성이 완료되면 클라이언트 ID와 클라이언트 시크릿을 메모해 둡니다.
자세한 내용은 Google 공식 문서를 참조하세요.
2단계: Google OAuth 자격 증명을 AWS Secrets Manager에 저장
-
AWS Management Console로 이동합니다.
-
Secrets Manager로 이동하여 "Store a new secret"을 선택합니다.
-
"Other type of secrets"를 선택합니다.
-
Google OAuth clientId와 clientSecret을 키-값 쌍으로 입력합니다.
- Key: clientId, Value: <YOUR_GOOGLE_CLIENT_ID>
- Key: clientSecret, Value: <YOUR_GOOGLE_CLIENT_SECRET>
-
안내에 따라 시크릿의 이름을 지정하고 설명을 입력합니다. CDK 코드에서 필요하므로 시크릿 이름을 기억해 두세요. 예: googleOAuthCredentials (3단계 변수명 <YOUR_SECRET_NAME>에서 사용)
-
시크릿을 검토하고 저장합니다.
주의사항
키 이름은 반드시 'clientId'와 'clientSecret' 문자열과 정확히 일치해야 합니다.
Step 3: cdk.json 업데이트
cdk.json 파일에 ID 제공자와 SecretName을 추가하세요.
다음과 같이 작성합니다:
{
"context": {
// ...
"identityProviders": [
{
"service": "google",
"secretName": "<YOUR_SECRET_NAME>"
}
],
"userPoolDomainPrefix": "<UNIQUE_DOMAIN_PREFIX_FOR_YOUR_USER_POOL>"
}
}
주의사항
고유성
userPoolDomainPrefix는 모든 Amazon Cognito 사용자들 사이에서 전역적으로 고유해야 합니다. 다른 AWS 계정에서 이미 사용 중인 접두사를 선택하면 사용자 풀 도메인 생성이 실패합니다. 고유성을 보장하기 위해 식별자, 프로젝트 이름 또는 환경 이름을 접두사에 포함하는 것이 좋습니다.
Step 4: CDK 스택 배포하기
AWS에 CDK 스택을 배포하세요:
npx cdk deploy --require-approval never --all
5단계: Cognito 리다이렉트 URI로 Google OAuth 클라이언트 업데이트
스택 배포 후, CloudFormation 출력에 AuthApprovedRedirectURI가 표시됩니다. Google 개발자 콘솔로 돌아가서 올바른 리다이렉트 URI로 OAuth 클라이언트를 업데이트하세요.