Amazon Cognito 사용자 풀에 Google을 연동 자격 증명 공급자로 설정하려면 어떻게 해야 합니까?
Amazon Cognito 사용자 풀에서 Google을 연동 자격 증명 공급자(IdP)로 사용하고 싶습니다. 어떻게 설정해야 하나요?
해결 방법
Amazon Cognito 사용자 풀은 Google 또는 Facebook과 같은 소셜 IdP를 통한 로그인을 비롯하여 타사(연동)를 통한 로그인을 허용합니다. 자세한 내용은 사용자 풀에 소셜 자격 증명 공급자 추가를 참조하세요.
앱 클라이언트와 도메인 이름이 설정된 Amazon Cognito 사용자 풀 생성
- 사용자 풀을 생성하세요.
참고: 생성 중에 표준 속성 **이메일(email)**이 기본적으로 선택됩니다. 자세한 내용은 사용자 풀 속성 구성을 참조하십시오. - 사용자 풀에서 앱 클라이언트를 생성합니다. 자세한 내용은 호스팅 웹 UI를 활성화하는 앱 추가를 참조하세요.
- 사용자 풀에 도메인 이름을 추가합니다.
Google API Console 프로젝트 생성
아직 프로젝트가 없으면 새 프로젝트를 생성합니다.
- Google 계정으로 Google API 콘솔에 로그인합니다. 자세한 내용은 Google 도움말 웹 사이트의 API 콘솔에서 API 관리를 참조하세요.
- Dashboard(APIs & Services)에서 CREATE를 선택합니다.
- [New Project]에 [Project name]을 입력합니다.
- [Location]에서 [BROWSE]를 선택한 다음, 위치를 선택합니다.
- [CREATE]를 선택합니다.
자세한 내용은 Google Sign-in for Websites 웹사이트의 웹 앱에 Google 로그인 통합을 참조하세요.
OAuth 동의 화면 구성
- Google API 콘솔의 왼쪽 탐색 창에서 OAuth 동의 화면을 선택합니다.
- 동의 화면 양식을 작성합니다. 최소한 다음 작업을 수행하십시오.
[Application name]에 이름을 입력합니다.
인증된 도메인에 amazoncognito.com을 입력합니다.
중요: 이 도메인을 입력하지 않으면 나중에 OAuth 클라이언트 ID를 생성할 때 Amazon Cognito 도메인을 사용할 수 없게 됩니다. - 저장을 선택합니다. 자격 증명 페이지로 리디렉션됩니다.
자세한 내용은 Google Apps Script 웹사이트의 OAuth 동의 화면 작성을 참조하세요.
OAuth 2.0 클라이언트 자격 증명 가져오기
- Google API 콘솔의 자격 증명 페이지에서 자격 증명 생성을 선택한 다음, OAuth 클라이언트 ID를 선택합니다.
- [Create OAuth client ID] 페이지의 [Application type]에서 [Web application]을 선택합니다.
- 다음을 수행합니다.
OAuth 클라이언트 ID에 이름을 입력합니다.
[Authorized JavaScript origins]에 Amazon Cognito 도메인(https://yourDomainPrefix.auth.region.amazoncognito.com)을 입력합니다.
참고: yourDomainPrefix와 region은 실제 사용자 풀의 값으로 바꾸십시오. 이 값은 [Amazon Cognito console]에서 해당 사용자 풀에 대한 [Domain name] 페이지에서 찾을 수 있습니다.
[Authorized redirect URIs]에 https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/idpresponse를 입력합니다.
참고: yourDomainPrefix와 region은 실제 사용자 풀의 값으로 바꾸십시오. 자세한 내용은 이전 단계를 참조하십시오. - OAuth 클라이언트 대화 상자에서 클라이언트 ID와 클라이언트 시크릿을 찾은 다음, 나중을 위해 메모합니다. Amazon Cognito 사용자 풀에서 Google을 구성할 때 이 정보가 필요합니다.
자세한 내용은 Google Identity Platform 웹사이트의 OAuth 2.0을 사용하여 Google API에 액세스를 참조하세요.
사용자 풀에서 Google을 연동 IdP로 구성
- Amazon Cognito 콘솔에서 사용자 풀 관리를 선택한 다음, 사용자 풀을 선택합니다.
- 왼쪽 탐색 창의 [Federation]에서 [Identity providers]를 선택합니다.
- [Google]을 선택합니다.
- 다음을 수행합니다.
[Google app ID]에 메모한 클라이언트 ID를 붙여넣습니다.
[App secret]에 메모한 클라이언트 보안 암호를 붙여넣습니다.
[Authorize scope]에 프로필 이메일 OpenID를 입력합니다. - Google 활성화를 선택합니다.
자세한 내용은 사용자 풀에 소셜 IdP 추가를 참조하십시오.
Google 속성에서 사용자 풀 속성으로 이메일 매핑
참고: 속성 매핑에서 매핑된 사용자 풀 속성은 변경 가능해야 합니다. 자세한 내용은 사용자 풀에 대한 자격 증명 공급자 속성 매핑 지정을 참조하세요.
- Amazon Cognito 콘솔에서 사용자 풀 관리를 선택한 다음, 사용자 풀을 선택합니다.
- 왼쪽 탐색 창의 [Federation]에서 [Attribute mapping]을 선택합니다.
- 속성 매핑 페이지에서 [Google] 탭을 선택합니다.
- [email]이라는 Google 속성 옆에 있는 [Capture] 확인란을 선택합니다.
- [email] 옆에 있는 [User pool attribute] 목록에서 [Email]을 선택합니다.
- 변경 사항 저장을 선택합니다.
사용자 풀의 앱 클라이언트 설정 변경
참고: 앱 클라이언트 설정에서 매핑된 사용자 풀 속성은 쓰기가 가능해야 합니다. 자세한 내용은 사용자 풀에 대한 자격 증명 공급자 속성 매핑 지정을 참조하세요.
- Amazon Cognito 콘솔에서 사용자 풀 관리를 선택한 다음, 사용자 풀을 선택합니다.
- 왼쪽 탐색 창의 [App integration]에서 [App Client settings]를 선택합니다.
- 앱 클라이언트 페이지에서 다음 작업을 수행하십시오.
[Enabled Identity Providers]에서 [Google] 확인란을 선택합니다.
로그인 후 귀하의 사용자가 리디렉션하기를 원하는 URL을 [Callback URL(s)]에 입력합니다. **https://www.example.com/**과 같은 유효한 URL을 입력하여 테스트할 수 있습니다.
[Sign out URL(s)]에 로그아웃 후 사용자를 리디렉션할 URL을 입력합니다. **https://www.example.com/**과 같은 유효한 URL을 입력하여 테스트할 수 있습니다.
Allowed OAuth Flows에서 Implicit grant 확인란을 선택합니다.
Allowed OAuth Scopes에서 적어도 email, openid, profile 확인란을 선택합니다.
중요: 암시적 권한 부여 OAuth 흐름은 테스트 목적으로만 사용됩니다. 프로덕션 시스템에 권한 부여 코드 부여를 사용하는 것이 가장 좋습니다. 자세한 내용은 Amazon Cognito 사용자 풀 OAuth 2.0 지원 이해를 참조하세요. - 변경 사항 저장을 선택합니다.
자세한 내용은 앱 클라이언트 설정 개요를 참조하세요.
엔드포인트 URL 구성
사용자 풀의 값을 사용하여 Amazon Cognito 호스팅 웹 UI에 대한 이 로그인 엔드포인트 URL을 구성합니다.
https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl
다음을 수행해야 합니다.
- yourDomainPrefix 및 region을 실제 사용자 풀의 값으로 바꾸십시오. 이 값은 [Amazon Cognito console]에서 해당 사용자 풀에 대한 [Domain name] 페이지에서 찾을 수 있습니다.
- yourClientId는 Amazon Cognito 앱 클라이언트 ID로 변경하고 redirectUrl을 앱 클라이언트 콜백 URL로 변경합니다. 이 정보는 Amazon Cognito 콘솔의 해당 사용자 풀에 대한 앱 클라이언트 설정 페이지에서 확인할 수 있습니다.
자세한 내용은 Amazon Cognito의 호스팅 웹 UI를 구성하려면 어떻게 해야 합니까? 및 로그인 엔드포인트를 참조하세요.
엔드포인트 URL 테스트
- 웹 브라우저에 구성된 로그인 엔드포인트 URL을 입력합니다.
- 로그인 엔드포인트 웹페이지에서 [Continue with Google]을 선택합니다.
참고: Amazon Cognito 앱 클라이언트의 콜백 URL로 리디렉션된다면 이미 브라우저에서 Google 계정에 로그인된 상태입니다. 웹 브라우저의 주소 표시줄에 있는 URL에 사용자 풀 토큰이 표시됩니다. - [Sign in with Google]에서 Google 계정을 선택하고 로그인합니다.
인증에 성공하면 Amazon Cognito 앱 클라이언트 콜백 URL로 리디렉션됩니다. 웹 브라우저의 주소 표시줄에 있는 URL에 사용자 풀에서 발행한 JSON 웹 토큰(JWT)이 표시됩니다.
참고: 실제 웹 앱에서 LOGIN 엔드포인트의 URL은 JavaScript SDK에서 생성하는데, 이 SDK가 JWT 토큰의 구문 분석도 관리합니다.
관련 정보
관련 콘텐츠
- 질문됨 7달 전lg...
- AWS 공식업데이트됨 일 년 전
- AWS 공식업데이트됨 2년 전