사용자 풀에 소셜 자격 증명 공급자 추가 - Amazon Cognito

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

사용자 풀에 소셜 자격 증명 공급자 추가

웹 및 모바일 앱 사용자들이 Facebook, Google, Amazon 및 Apple 같은 소셜 자격 증명 공급자(IdP)를 통해 로그인할 수 있습니다. 내장된 호스트 웹 UI를 사용하여 Amazon Cognito가 모든 자격 증명 공급자의 모든 인증 사용자에 대한 토큰 처리 및 관리를 제공하기 때문에 사용자의 백엔드 시스템을 한 세트의 사용자 풀 토큰에서 표준화할 수 있습니다.

AWS CLI 또는 Amazon Cognito API 호출을 사용하여 AWS Management 콘솔에서 소셜 자격 증명 공급자를 추가할 수 있습니다.


                소셜 로그인의 인증 개요
참고

타사(연동)를 통한 로그인을 Amazon Cognito 사용자 풀에서 사용할 수 있습니다. 이 기능은 Amazon Cognito 자격 증명 풀(연동 자격 증명)을 통한 연동과 무관합니다.

Prerequisites

시작하려면 다음이 필요합니다.

  • 애플리케이션 클라이언트 및 사용자 풀 도메인이 있는 사용자 풀. 자세한 내용은 사용자 풀 생성 단원을 참조하십시오.

  • 소셜 자격 증명 공급자.

단계 1. 소셜 IdP로 등록

Amazon Cognito에서 소셜 IdP를 생성하려면 소셜 IdP에 애플리케이션을 등록하여 클라이언트 ID와 클라이언트 암호를 받아야 합니다.

  1. Facebook에서 개발자 계정을 생성합니다.

  2. Facebook 자격 증명으로 로그인합니다.

  3. My Apps(내 앱) 메뉴에서 Create New App(새 앱 생성)을 선택합니다.

  4. Facebook 앱 이름을 지정한 다음 Create App ID(앱 ID 생성)를 선택합니다.

  5. 왼쪽 탐색 모음에서 설정기본을 차례로 선택합니다.

  6. App ID(앱 ID)앱 보안을 메모합니다. 다음 섹션에서 이 둘을 사용합니다.

  7. 페이지 하단에서 + Add Platform(플랫폼 추가)을 선택합니다.

  8. 웹 사이트를 선택합니다.

  9. 웹 사이트에서 엔드포인트가 /oauth2/idpresponse인 사용자 풀 도메인을 Site URL(사이트 URL)에 입력합니다.

    https://<your-user-pool-domain>/oauth2/idpresponse
  10. [Save changes]를 선택합니다.

  11. App Domains(앱 도메인)에 사용자 풀 도메인을 입력합니다.

    https://<your-user-pool-domain>
  12. [Save changes]를 선택합니다.

  13. 탐색 모음에서 제품을 선택하고 Facebook 로그인에서 Set up(설정)을 선택합니다.

  14. 탐색 모음에서 Facebook 로그인설정을 차례로 선택합니다.

    Valid OAuth Redirect URIs(유효 OAuth 리디렉션 URI)에 리디렉션 URL을 입력합니다. 엔드포인트가 /oauth2/idpresponse인 사용자 풀 도메인으로 이루어집니다.

    https://<your-user-pool-domain>/oauth2/idpresponse
  15. [Save changes]를 선택합니다.

  1. Amazon에서 개발자 계정을 생성합니다.

  2. Amazon 자격 증명으로 로그인합니다.

  3. Amazon 보안 프로파일을 생성하여 Amazon 클라이언트 ID와 클라이언트 암호를 받아야 합니다.

    페이지 상단의 탐색 모음에서 Apps and Services(앱 및 서비스)를 선택한 다음 Amazon에 로그인을 선택합니다.

  4. Create a Security Profile(보안 프로필 생성)을 선택합니다.

  5. Security Profile Name(보안 프로필 이름), Security Profile Description(보안 프로필 설명)Consent Privacy Notice URL(개인 정보 보호 정책 URL 동의)에 입력합니다.

  6. Save를 선택합니다.

  7. 클라이언트 ID클라이언트 암호를 선택하여 클라이언트 ID 및 암호를 표시합니다. 다음 섹션에서 이 둘을 사용합니다.

  8. 기어를 마우스로 가리켜 Web Settings(웹 설정) 탭을 선택하고 편집을 선택합니다.

  9. Allowed Origins(허용되는 오리진)에 사용자 풀 도메인을 입력합니다.

    https://<your-user-pool-domain>
  10. 엔드포인트가 /oauth2/idpresponse인 사용자 풀 도메인을 Allowed Return URLs(허용되는 반환 URL)에 입력합니다.

    https://<your-user-pool-domain>/oauth2/idpresponse
  11. Save를 선택합니다.

  1. Google에서 개발자 계정을 생성합니다.

  2. Google 자격 증명으로 로그인합니다.

  3. CONFIGURE A PROJECT(프로젝트 구성)를 선택합니다.

  4. 프로젝트 이름을 입력하고 다음을 선택합니다.

  5. 사용자의 프로젝트 이름을 입력하고 다음을 선택합니다.

  6. Where are you calling from?(호출 위치는 어디입니까?) 드롭다운 목록에서 Web browser(웹 브라우저)를 선택합니다.

  7. Authorized JavaScript origins(권한 있는 JavaScript 오리진)에 사용자 풀 도메인을 입력합니다.

    https://<your-user-pool-domain>
  8. CREATE를 선택합니다. 이 단계에서는 클라이언트 ID클라이언트 보안을 사용하지 않습니다.

  9. DONE을 선택합니다.

  10. Google 콘솔에 로그인합니다.

  11. 왼쪽 탐색 모음에서 Credentials(자격 증명)를 선택합니다.

  12. 자격 증명 생성 드롭다운 목록에서 OAuth client ID(OAuth 클라이언트 ID)를 선택하여 OAuth 2.0 자격 증명을 생성합니다.

  13. Web application(웹 애플리케이션)을 선택합니다.

  14. Authorized JavaScript origins(권한 있는 JavaScript 오리진)에 사용자 풀 도메인을 입력합니다.

    https://<your-user-pool-domain>
  15. /oauth2/idpresponse 엔드포인트가 있는 사용자 풀 도메인을 Authorized Redirect URIs(인증 리디렉션 URI)]에 입력합니다.

    https://<your-user-pool-domain>/oauth2/idpresponse
  16. Create(생성)를 두 번 선택합니다.

  17. OAuth 클라이언트 ID클라이언트 암호를 메모합니다. 다음 섹션에서 이 둘이 필요합니다.

  18. 확인을 선택합니다.

  1. Apple에서 개발자 계정을 생성합니다.

  2. Apple 자격 증명으로 로그인합니다.

  3. 왼쪽 탐색 모음에서 Certificates, IDs & Profiles(인증서, ID 및 프로필)를 선택합니다.

  4. 왼쪽 탐색 모음에서 Identifiers(식별자)를 선택합니다.

  5. Identifiers(식별자) 페이지에서 + 아이콘을 선택합니다.

  6. Register a New Identifier(새 식별자 등록) 페이지에서 App IDs(앱 ID)를 선택한 다음 계속을 선택합니다.

  7. Register an App ID(앱 ID 등록) 페이지에서 다음을 수행합니다.

    1. 설명에 설명을 입력합니다.

    2. App ID Prefix(앱 ID 접두사)에서 식별자를 입력합니다. 단계 2. 사용자 풀에 소셜 IdP 추가에서 ID 공급자로 Apple을 선택한 후 이 값이 필요하므로 App ID Prefix(앱 ID 접두사) 값을 기록해 둡니다.

    3. 기능에서 Sign In with Apple을 선택한 다음 편집을 선택합니다.

    4. Sign in with Apple: App ID Configuration(Apple로 로그인: 앱 ID구성) 페이지에서 앱에 적절한 설정을 선택하고저장을 선택합니다.

    5. [Continue]를 선택합니다.

  8. Confirm your App ID(앱 ID 확인) 페이지에서 등록을 선택합니다.

  9. Identifiers(식별자) 페이지에서 페이지 오른쪽의 App IDs(앱 ID)로 마우스 포인터를 놓고 Services IDs(서비스 ID)를 선택한 다음 + 아이콘을 선택합니다.

  10. Register a New Identifier(새 식별자 등록) 페이지에서 Services IDs(서비스 ID)를 선택한 다음 계속을 선택합니다.

  11. Register a Services ID(서비스 ID 등록) 페이지에서 다음을 수행합니다.

    1. 설명에 설명을 입력합니다.

    2. Identifier(식별자)에 식별자를 입력합니다. 단계 2. 사용자 풀에 소셜 IdP 추가에서 ID 공급자로 Apple을 선택한 후 이 값이 필요하므로 이 서비스 ID를 기록해 두십시오.

    3. Sign In with Apple을 선택한 다음 구성을 선택합니다.

    4. Web Authentication Configuration(웹 인증 구성) 페이지에서 Primary App ID(기본 앱 ID)를 선택합니다. Web Domain(웹 도메인)에서 사용자 풀 도메인을 입력합니다. Return URLs(반환 URL)에서 사용자 풀 도메인과 /oauth2/idpresponse 엔드포인트를 입력합니다. 예:

      https://<your-user-pool-domain>/oauth2/idpresponse
    5. 추가, 저장을 차례로 선택합니다. 도메인을 확인할 필요는 없습니다.

    6. 계속, 등록을 차례로 선택합니다.

  12. 왼쪽 탐색 모음에서 를 선택합니다.

  13. 페이지에 + 아이콘을 선택합니다.

  14. Register a New Key(새 키 등록) 페이지에서 다음을 수행합니다.

    1. 키 이름에서 키 이름을 입력합니다.

    2. Sign In with Apple을 선택한 다음 구성을 선택합니다.

    3. Configure Key(키 구성) 페이지에서 Primary App ID(기본 앱 ID)를 선택하고 저장을 선택합니다.

    4. 계속, 등록을 차례로 선택합니다.

  15. Download Your Key(키 다운로드) 페이지에서 다운로드를 선택하여 프라이빗 키를 다운로드하고 완료를 선택합니다. 단계 2. 사용자 풀에 소셜 IdP 추가에서 ID 공급자로 Apple을 선택한 후 이 페이지에 표시된 이 프라이빗 키 및 키 ID 값이 필요합니다.

단계 2. 사용자 풀에 소셜 IdP 추가

이 섹션에서는 이전 섹션의 클라이언트 ID와 클라이언트 암호를 사용하여 사용자 풀에 소셜 IdP를 구성합니다.

AWS Management 콘솔을 사용하여 사용자 풀 소셜 자격 증명 공급자를 구성하려면

  1. Amazon Cognito 콘솔로 이동합니다. AWS 자격 증명을 입력하라는 메시지가 나타날 수 있습니다.

  2. [Manage your User Pools]를 선택합니다.

  3. 목록에서 기존 사용자 풀을 선택하거나 사용자 풀을 생성합니다.

  4. 왼쪽 탐색 모음에서 자격 증명 공급자를 선택합니다.

  5. ID 공급자를 선택합니다. Facebook, Google, Login with Amazon 또는 Apple.

  6. Google 및 Login with Amazon의 경우 이전 섹션의 소셜 자격 증명 공급자에게서 받은 앱 클라이언트 ID와 앱 클라이언트 암호를 입력합니다. Facebook의 경우 이전 섹션의 소셜 자격 증명 공급자에게서 받은 앱 클라이언트 ID와 앱 클라이언트 암호를 입력하고 API 버전을 선택합니다. 각 Facebook API 버전에는 수명 주기와 사용 중단 날짜가 있으므로 가능한 가장 높은 버전(예: 버전 2.12)을 선택하는 것이 좋습니다. 문제가 발생할 경우 API 버전 게시물 생성을 변경할 수 있습니다. Facebook 범위 및 속성은 각 API 버전에 따라 다를 수 있으므로 통합을 테스트하는 것이 좋습니다.” Sign in with Apple의 경우 이전 섹션에서 받은 서비스 ID, 팀 ID, 키 ID 및 프라이빗 키를 입력합니다.

  7. 승인하려는 범위의 이름을 입력합니다. 범위는 앱에서 액세스하고자 하는 사용자 속성(예: nameemail)을 정의합니다. Facebook의 경우 쉼표로 구분해야 합니다. Google 및 Login with Amazon의 경우 공백으로 구분해야 합니다. Apple로 로그인의 경우, 액세스하려는 범위의 확인란을 선택합니다.

    소셜 자격 증명 공급자 예제 범위
    Facebook public_profile, email
    Google profile email openid
    Login with Amazon profile postal_code
    Apple로 로그인 email name

    앱 사용자는 앱에 이러한 속성들을 제공한다는 데 동의하라는 요청 메시지를 받게 됩니다. 범위에 대한 자세한 내용은 Google, Facebook, Login with Amazon 또는 Sign in with Apple의 설명서를 참조하십시오.

    Sign in with Apple의 경우 다음은 범위가 반환되지 않을 수 있는 사용자 시나리오입니다.

    • 최종 사용자가 Apple의 로그인 페이지를 벗어난 후 오류 발생(Cognito 내부 오류 또는 개발자가 작성한 항목에서 발생할 수 있음)

    • 서비스 ID 식별자가 사용자 풀 및/또는 다른 인증 서비스에서 사용됨

    • 최종 사용자가 이전에 로그인한 후 개발자가 추가 범위를 추가함(새로운 정보가 검색되지 않음)

    • 개발자가 사용자를 삭제한 후 해당 사용자가 Apple ID 프로필에서 앱을 제거하지 않고 다시 로그인함

  8. 구성 중인 소셜 자격 증명 공급자에 대해 Enable(활성화)을 선택합니다.

  9. 탐색 모음에서 앱 클라이언트 설정을 선택합니다.

  10. 사용자 풀 앱의 활성화된 자격 증명 공급자 중 하나로 소셜 자격 증명 공급자를 선택합니다.

  11. 사용자 풀 앱의 콜백 URL(여러 개 가능)에 콜백 URL을 입력합니다. 이것은 인증 성공 이후에 사용자가 리디렉션되는 페이지의 URL입니다.

    https://www.example.com
  12. [Save changes]를 선택합니다.

  13. 속성 매핑 탭에서 다음과 같이 최소한의 필수 속성(일반적으로 email)에 대한 매핑을 추가합니다.

    1. 확인란을 선택하여 Facebook, Google 또는 Amazon 속성 이름을 선택합니다. Amazon Cognito 콘솔에 기재되어 있지 않은 추가 속성의 이름을 입력할 수도 있습니다.

    2. 드롭다운 목록에서 대상 사용자 풀 속성을 선택합니다.

    3. [Save changes]를 선택합니다.

    4. 요약본으로 이동을 선택합니다.

단계 3. 소셜 IdP 구성 테스트

이전 두 섹션의 요소를 사용하여 로그인 URL을 생성할 수 있습니다. 이것을 사용하여 소셜 IdP 구성을 테스트합니다.

https://<your_user_pool_domain>/login?response_type=code&client_id=<your_client_id>&redirect_uri=https://www.example.com

사용자 풀 도메인 이름 콘솔 페이지에서 사용자의 도메인을 찾을 수 있습니다. client_id는 앱 클라이언트 설정 페이지에 있습니다. redirect_uri 파라미터용 콜백 URL을 사용합니다. 이것은 인증 성공 이후에 사용자가 리디렉션되는 페이지의 URL입니다.

참고

5분 내에 완료되지 않는 요청은 취소되며, 로그인 페이지로 리디렉션된 후 Something went wrong 오류 메시지가 표시됩니다.