내용으로 건너뛰기

Amazon Cognito 사용자 풀에서 페더레이션 ID 공급자로 Google을 설정하려면 어떻게 해야 하나요?

4분 분량
0

Amazon Cognito 사용자 풀의 페더레이션 ID 공급자(IdP)로 Google을 사용하고 싶습니다.

해결 방법

Amazon Cognito 사용자 풀 생성

Amazon Cognito 콘솔에서 새 애플리케이션을 생성합니다.

Google API 콘솔 프로젝트 생성

Google 계정으로 Google API 콘솔에 로그인한 다음 Google Cloud 프로젝트를 생성합니다. 단계는 Google ID 웹사이트에서 Sign in with Google for web을 참조하고 Google Workspace 웹사이트에서 Create a Google Cloud project를 참조하십시오.

OAuth 동의 화면 구성

다음 단계를 완료합니다.

  1. Google API 콘솔을 엽니다.
  2. 탐색 창에서 OAuth 동의 화면을 선택합니다.
  3. 동의서에 다음 필수 필드를 구성합니다.
    애플리케이션 이름에 이름을 입력합니다.
    승인된 도메인amazoncognito.com을 입력합니다.
    중요: OAuth 클라이언트 ID를 생성할 때 Amazon Cognito 도메인을 사용하려면 이 도메인을 입력해야 합니다.
  4. 저장을 선택합니다.

OAuth 2.0 클라이언트 자격 증명 가져오기

다음 단계를 완료합니다.

  1. Google API 콘솔을 엽니다.
  2. 자격 증명 페이지에서 자격 증명 생성을 선택합니다.
  3. OAuth 클라이언트 ID를 선택합니다.
  4. OAuth 클라이언트 ID 생성 페이지에서 애플리케이션 유형으로 웹 애플리케이션을 선택합니다.
  5. 다음 설정을 구성합니다.
    이름에 OAuth 클라이언트 ID 이름을 입력합니다.
    Authorized JavaScript 오리진에 Amazon Cognito 도메인을 입력합니다(예: https://yourDomainPrefix.auth.region.amazoncognito.com).
    참고: yourDomainPrefix를 사용자 풀의 도메인으로, region을 사용자 풀의 AWS 리전으로 바꾸십시오. 
    사용자 풀의 도메인 접두사와 리전을 찾으려면 다음을 완료하십시오.
    Amazon Cognito 콘솔을 엽니다.
    왼쪽 탐색 메뉴에서 사용자 풀을 선택합니다.
    사용자 풀을 선택합니다.
    왼쪽 탐색 메뉴에서 앱 통합을 선택합니다. 도메인 섹션으로 스크롤하여 도메인 접두사와 리전을 찾습니다.
    승인된 리디렉션 URI에는 https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/idpresponse을 입력합니다.
    참고: yourDomainPrefixregion을 사용자 풀 값으로 바꿉니다.
  6. OAuth 클라이언트 대화 상자에 표시되는 클라이언트 ID와 클라이언트 암호를 기록해 둡니다.

사용자 풀에서 Google을 페더레이션 IdP로 구성

Amazon Cognito 콘솔을 사용하여 소셜 IdP로 사용자 풀을 구성하고 다음 설정을 구성합니다.

  • ID 공급업체 추가에서 Google을 선택합니다.
  • Google과 사용자 풀 간의 속성 매핑에서 이메일사용자 풀 속성이메일Google 속성에 매핑합니다.

사용자 풀의 앱 클라이언트 설정 변경

참고: 앱 클라이언트 설정에서 매핑된 사용자 풀 속성은 쓰기 가능해야 합니다. 자세한 내용은 프로필 및 토큰에 IdP 속성 매핑을 참조하십시오.

다음 단계를 완료합니다.

  1. Amazon Cognito 콘솔을 엽니다.
  2. 사용자 풀을 선택한 다음 사용자 풀을 선택합니다.
  3. 앱 통합 탭을 선택합니다.
  4. 앱 클라이언트 목록에서 앱 클라이언트 생성을 선택합니다.
  5. 다음 설정을 구성합니다.
    앱 유형에서 공개 클라이언트를 선택한 다음 앱 클라이언트의 이름을 입력합니다.
    인증 흐름에서 ALLOW_USER_PASSWORD_AUTHALLOW_REFRESH_TOKEN_AUTH를 선택합니다.
    허용되는 콜백 URL에서 사용자가 로그인한 후 리디렉션되도록 하려는 URL을 입력합니다. 테스트하려면 유효한 URL(예: https://www.example.com/)을 입력합니다.
    로그아웃 URL에서 사용자가 로그아웃한 후 리디렉션되도록 하려는 URL을 입력합니다. 테스트하려면 유효한 URL(예: https://www.example.com/)을 입력합니다.
    ID 제공업체에서 Cognito 사용자 풀Google을 선택합니다.
    OAuth 2.0 권한 부여 유형에서 암시적 권한 부여를 선택합니다.
    OpenID Connect 범위에서 이메일, openid, 프로필을 선택합니다.
    중요: 암시적 권한 부여 OAuth 흐름은 테스트 목적으로만 사용됩니다. 프로덕션 시스템에는 인증 코드 권한 부여 유형을 사용하는 것이 좋습니다.
  6. 앱 클라이언트 생성을 선택합니다.

앱 클라이언트 설정에 대한 자세한 내용은 앱 클라이언트 약관을 참조하십시오.

엔드포인트 URL 구성

Amazon Cognito에서 호스팅하는 웹 UI의 로그인 엔드포인트 URL을 구성하려면 다음 형식을 사용합니다.

https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl

참고: yourDomainPrefix를 사용자 풀의 도메인으로, region을 사용자 풀의 리전으로 바꾸십시오. yourClientId를 Amazon Cognito 앱 클라이언트의 ID로 바꾸고, redirectUrl을 앱 클라이언트의 콜백 URL로 바꿉니다.

사용자 풀의 도메인 접두사와 리전을 찾으려면 다음 단계를 완료하십시오.

  1. Amazon Cognito 콘솔을 엽니다.
  2. 왼쪽 탐색 메뉴에서 사용자 풀을 선택합니다.
  3. 사용자 풀을 선택합니다.
  4. 왼쪽 탐색 메뉴에서 앱 통합을 선택합니다.
  5. 도메인 섹션으로 스크롤하여 도메인 접두사와 리전을 찾습니다.

ClientID 및 redirectUrl을 찾으려면 다음 단계를 완료하십시오.

  1. Amazon Cognito 콘솔을 엽니다.
  2. 왼쪽 탐색 메뉴에서 사용자 풀을 선택합니다.
  3. 사용자 풀을 선택합니다.
  4. 왼쪽 탐색 메뉴에서 앱 통합을 선택합니다.
  5. 앱 클라이언트로 스크롤하여 ClientId 및 redirectUrl을 찾습니다.
    참고: 구성된 리디렉션 URL을 비롯한 세부 정보를 보려면 앱 클라이언트를 선택하십시오.

엔드포인트 URL 테스트

다음 단계를 완료합니다.

  1. 웹 브라우저에 로그인 엔드포인트 URL을 입력합니다.
  2. 로그인 엔드포인트 웹페이지에서 Google로 계속하기를 선택합니다.
    참고: Amazon Cognito 앱 클라이언트의 콜백 URL로 페이지가 리디렉션된다면, 이미 브라우저에서 Google 계정으로 로그인한 것입니다. 사용자의 웹 브라우저 주소 표시줄에 있는 URL에 사용자 풀 토큰이 표시됩니다.
  3. Google로 로그인에서 Google 계정을 선택하고 로그인합니다.

인증을 마치면 Amazon Cognito 앱 클라이언트의 콜백 URL로 리디렉션됩니다. 웹 브라우저의 주소 표시줄 URL에 사용자 풀에서 발행한 JSON 웹 토큰(JWT)이 표시됩니다.

관련 정보

사용자 풀과 함께 소셜 ID 공급자 사용

타사 ID 공급업체를 통한 사용자 풀 로그인

Google 도움말 웹 사이트의 Manage APIs in the API console