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

4분 분량
0

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

해결 방법

앱 클라이언트 및 도메인 이름을 사용해 Amazon Cognito 사용자 풀 생성하기

다음 단계를 완료합니다.

  1. 새 사용자 풀을 생성합니다.
    참고: 사용자 풀을 생성할 때 기본적으로 표준 속성 이메일이 선택됩니다.
  2. 사용자 풀에서 앱 클라이언트를 생성합니다.
  3. 사용자 풀에 도메인 이름을 추가합니다.

Google API 콘솔 프로젝트 만들기

다음 단계를 완료합니다.

  1. Google 계정으로 Google API 콘솔에 로그인합니다. 자세한 내용은 Google 도움말 웹사이트의 API 콘솔에서 API 관리를 참조하세요.
  2. **대시보드(API 및 서비스)**에서 생성을 선택합니다.
  3. 새 프로젝트에서 프로젝트 이름을 입력합니다.
  4. 위치에서 찾아보기를 선택하고 위치를 선택합니다.
  5. 생성을 선택합니다.

자세한 내용은 Google ID 웹사이트에서 웹에서 Google로 로그인을 참조하세요.

OAuth 동의 화면 구성

다음 단계를 완료합니다.

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

자세한 내용은 Google Workspace 웹사이트에서 OAuth 동의 화면 작성을 참조하세요.

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

다음 단계를 완료합니다.

  1. Google API 콘솔을 열고 자격 증명 페이지에서 자격 증명 생성을 선택합니다.
  2. OAuth 클라이언트 ID를 선택합니다.
  3. OAuth 클라이언트 ID 생성 페이지에서 애플리케이션 유형으로 웹 애플리케이션을 선택합니다.
  4. 다음 정보를 입력합니다.
    이름에 OAuth 클라이언트 ID 이름을 입력합니다.
    Authorized JavaScript 오리진에 Amazon Cognito 도메인을 입력합니다(예: ).
    참고: yourDomainPrefix리전을 사용자 풀 값으로 바꿉니다. 이러한 값을 찾으려면 Amazon Cognito 콘솔을 열고 사용자 풀의 도메인 이름 페이지로 이동합니다.
    승인된 리디렉션 URI에는 ** 입력합니다.
    참고: yourDomainPrefix리전을 사용자 풀 값으로 바꿉니다.
  5. OAuth 클라이언트 대화 상자에서 이후 단계에서 사용할 클라이언트 ID와 클라이언트 암호를 기록해 둡니다.

자세한 내용은 Google ID 웹사이트에서 OAuth 2.0을 사용하여 Google API에 액세스를 참조하세요.

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

다음 단계를 완료합니다.

  1. Amazon Cognito 콘솔을 열고 사용자 풀을 선택합니다.
  2. 사용자 풀을 선택합니다.
  3. 로그인 경험 탭을 선택합니다.
  4. 페더레이션 ID 제공자 로그인에서 ID 제공자 추가를 선택합니다.
  5. Google을 선택합니다.
  6. 이 사용자 풀을 사용하여 Google 페더레이션 설정에서 다음 정보를 입력합니다.
    클라이언트 ID에는 기록해 둔 클라이언트 ID를 입력합니다.
    클라이언트 암호에는 기록해 둔 클라이언트 암호를 입력합니다.
    승인된 범위에 프로필 이메일 OpenID를 입력합니다.
  7. Google과 사용자 풀 간의 속성 매핑에서 이메일사용자 풀 속성이메일Google 속성에 매핑합니다.
  8. 다른 속성 추가를 선택한 다음 사용자 이름사용자 풀 속성사용자 이름Google 속성에 매핑합니다.
  9. ID 제공자 추가를 선택합니다.

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

참고: 앱 클라이언트 설정에서 매핑된 사용자 풀 속성은 쓰기 가능해야 합니다. 자세한 내용은 사용자 풀의 ID 제공자 속성 매핑 지정을 참조하세요.

다음 단계를 완료합니다.

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

자세한 내용은 앱 클라이언트 약관을 참조하세요.

엔드포인트 URL 구성

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

URL 예시:

참고: yourDomainPrefix리전을 사용자 풀 값으로 바꿉니다. 이러한 값을 찾으려면 Amazon Cognito 콘솔을 열고 사용자 풀의 도메인 이름 페이지로 이동합니다. yourClientId를 Amazon Cognito 앱 클라이언트의 ID로 바꾸고, redirectUrl을 앱 클라이언트의 콜백 URL로 바꿉니다. 사용자 풀의 앱 클라이언트 설정 페이지에서 이 값을 찾을 수 있습니다.

자세한 내용은 Amazon Cognito에 호스트된 웹 UI를 구성하려면 어떻게 해야 하나요?로그인 엔드포인트를 참조하세요.

엔드포인트 URL 테스트

다음 단계를 완료합니다.

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

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

참고: JavaScript SDK는 로그인 엔드포인트의 URL을 생성합니다. 또한 SDK는 URL에 JWT 토큰을 파싱합니다.

관련 정보

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

타사를 통한 사용자 풀 로그인 추가

AWS 공식
AWS 공식업데이트됨 9달 전