사용자 풀에 소셜 로그인 추가(선택 사항) - Amazon Cognito

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사용자 풀에 소셜 로그인 추가(선택 사항)

앱 사용자가 Facebook, Google, Amazon 및 Apple과 같은 소셜 자격 증명 공급자(IdP)를 통해 로그인하도록 할 수 있습니다. 사용자가 직접 또는 타사를 통해 로그인하는지 여부와 무관하게 모든 사용자는 사용자 풀에 프로필을 보유합니다. 소셜 로그인 자격 증명 공급자를 통한 로그인 추가를 원치 않는 경우 이 단계를 건너뛰세요.

소셜 IdP에 등록

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

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

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

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

    기존 Facebook 앱이 없는 경우 다른 옵션이 표시됩니다. 앱 생성을 선택합니다.

  4. 앱 생성 페이지에서 앱의 사용 사례를 선택한 후 다음을 선택합니다.

  5. Facebook 앱의 이름을 입력하고 앱 생성을 선택합니다.

  6. 왼쪽 탐색 모음에서 앱 설정을 선택한 다음 기본 사항을 선택합니다.

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

  8. 페이지 하단에서 + 플랫폼 추가를 선택합니다.

  9. 플랫폼 선택 화면에서 플랫폼을 선택하고 다음을 선택합니다.

  10. Save changes(변경 사항 저장)를 선택합니다.

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

    https://your_user_pool_domain
  12. Save changes(변경 사항 저장)를 선택합니다.

  13. 탐색 표시줄에서 제품을 선택한 다음 Facebook 로그인에서 구성을 선택합니다.

  14. Facebook 로그인 구성 메뉴에서 설정을 선택합니다.

    유효한 URL OAuth 리디렉션에 리디렉션을 입력합니다. URIs 리디렉션은 사용자 풀 도메인과 엔드포인트로 URL 구성됩니다. /oauth2/idpresponse

    https://your_user_pool_domain/oauth2/idpresponse
  15. 변경 사항 저장(Save changes)을 선택합니다.

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

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

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

    페이지 상단의 탐색 표시줄에서 앱 및 서비스를 선택한 다음 Login with Amazon을 선택합니다.

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

  5. 보안 프로필 이름, 보안 프로필 설명동의 개인 정보 보호 고지를 입력합니다URL.

  6. 저장(Save)을 선택합니다.

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

  8. 톱니 모양 아이콘을 마우스로 가리키고 [웹 설정(Web Settings)]을 선택한 다음, [편집(Edit)]을 선택합니다.

  9. [허용된 원본(Allowed Origins)]에 사용자 풀 도메인을 입력합니다.

    https://<your-user-pool-domain>
  10. /oauth2/idpresponse엔드포인트가 있는 사용자 풀 도메인을 Return Allow Return 항목에 입력합니다URLs.

    https://<your-user-pool-domain>/oauth2/idpresponse
  11. 저장(Save)을 선택합니다.

Google Cloud 플랫폼의 OAuth 2.0에 대한 자세한 내용은 개발자용 Google 워크스페이스 문서에서 인증 및 권한 부여에 대해 알아보기를 참조하십시오.

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

  2. Google Cloud Platform 콘솔에 로그인합니다.

  3. 상단 탐색 모음에서 프로젝트 선택(Select a project)을 선택합니다. Google 플랫폼에 프로젝트가 이미 있는 경우 이 메뉴에는 대신 기본 프로젝트가 표시됩니다.

  4. 선택합니다 NEWPROJECT.

  5. 제품 이름을 입력한 다음 선택합니다 CREATE.

  6. 왼쪽 탐색 모음에서 서비스를 선택한 APIs 다음 Oauth 동의 화면을 선택합니다.

  7. 앱 정보, 앱 도메인, 승인된 도메인, 개발자 연락처 정보를 입력합니다. 인증된 도메인에는 사용자 지정 도메인의 루트가 amazoncognito.com 포함되어야 합니다. 예: example.com. 선택하세요 SAVEANDCONTINUE.

  8. 1. 범위에서 범위 추가 또는 제거를 선택한 다음 최소한 다음 범위를 선택합니다. OAuth

    1. .../auth/userinfo.email

    2. .../auth/userinfo.profile

    3. openid

  9. 사용자 테스트(Test users)에서 사용자 추가(Add users)를 선택합니다. 이메일 주소와 기타 승인된 테스트 사용자를 입력한 다음 선택합니다. SAVEANDCONTINUE

  10. 왼쪽 탐색 막대를 다시 APIs펼치고 서비스를 선택한 다음 자격 증명을 선택합니다.

  11. 선택한 CREATECREDENTIALS다음 OAuth클라이언트 ID를 선택합니다.

  12. 애플리케이션 유형(Application type)을 선택하고 클라이언트 이름을 지정합니다.

  13. 승인된 JavaScript 출처에서 선택하세요 ADDURI. 사용자 풀 도메인을 입력합니다.

    https://<your-user-pool-domain>
  14. 승인된 리디렉션에서 선택합니다 URIs. ADDURI 사용자 풀 도메인의 /oauth2/idpresponse 엔드포인트에 대한 경로를 입력합니다.

    https://<your-user-pool-domain>/oauth2/idpresponse
  15. 선택하세요 CREATE.

  16. 내 클라이언트 ID내 클라이언트 암호에서 Google이 표시하는 값을 안전하게 저장합니다. Google IdP를 추가할 때 이러한 값을 Amazon Cognito에 입력합니다.

Apple로 로그인 설정에 대한 자세한 내용은 Apple 개발자 설명서의 Apple로 로그인용 환경 구성을 참조하세요.

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

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

  3. 왼쪽 탐색 모음에서 인증서, 식별자 및 프로필(Certificates, Identifiers & Profiles)을 선택합니다.

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

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

  6. 새 식별자 등록 페이지에서 앱을 IDs 선택한 다음 계속을 선택합니다.

  7. 유형 선택 페이지에서 앱을 선택한 다음 계속을 선택합니다.

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

    1. 설명(Description)에 설명을 입력합니다.

    2. 앱 ID 접두사(App ID Prefix)에서 번들 ID(Bundle ID)를 입력합니다. [앱 ID 접두사(App ID Prefix)] 아래의 값을 적어 둡니다. 2단계: 사용자 풀에 소셜 IdP 추가에서 자격 증명 공급자로 Apple을 선택한 후 이 값을 사용합니다.

    3. 기능(Capabilities)에서 Apple로 로그인(Sign In with Apple)을 선택한 다음 편집(Edit)을 선택합니다.

    4. Apple로 로그인: 앱 ID 구성 페이지에서 앱을 기본 앱으로 설정할지 다른 IDs 앱과 함께 그룹화할지 선택한 다음 저장을 선택합니다.

    5. 계속을 선택합니다.

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

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

  11. 새 식별자 등록 페이지에서 서비스를 IDs 선택한 다음 계속을 선택합니다.

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

    1. 설명(Description)에 설명을 입력합니다.

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

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

  13. 식별자 페이지에서 방금 생성한 서비스 ID를 선택합니다.

    1. Apple로 로그인(Sign In with Apple)을 선택한 다음 구성(Configure)을 선택합니다.

    2. 웹 인증 구성(Web Authentication Configuration) 페이지에서 앞서 생성한 앱 ID를 기본 앱 ID(Primary App ID)로 선택합니다.

    3. 웹사이트 URLs 옆에 있는 + 아이콘을 선택합니다.

    4. 도메인 및 하위 도메인(Domains and subdomains)에서 https:// 접두사를 사용하지 않고 사용자 풀 도메인을 입력합니다.

      <your-user-pool-domain>
    5. URLsReturn에서 사용자 풀 도메인의 /oauth2/idpresponse 엔드포인트 경로를 입력합니다.

      https://<your-user-pool-domain>/oauth2/idpresponse
    6. [다음] 을 선택한 다음 [완료] 를 선택합니다. 도메인을 확인할 필요는 없습니다.

    7. 계속(Continue)저장(Save)을 차례로 선택합니다.

  14. 왼쪽 탐색 모음에서 키(Keys)를 선택합니다.

  15. 키(Keys) 페이지에 + 아이콘을 선택합니다.

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

    1. [키 이름(Key Name)] 아래에 키 이름을 입력합니다.

    2. Apple로 로그인(Sign In with Apple)을 선택한 다음 구성(Configure)을 선택합니다.

    3. 키 구성 페이지에서 이전에 기본 앱 ID로 만든 앱 ID를 선택합니다. 저장(Save)을 선택합니다.

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

  17. 키 다운로드 페이지에서 다운로드를 선택하여 개인 키를 다운로드하고 표시된 키 ID를 메모한 다음 완료를 선택합니다. 이 프라이빗 키와 이 페이지에 표시되는 키 ID(Key ID) 값은 2단계: 사용자 풀에 소셜 IdP 추가에서 자격 증명 공급자로 Apple을 선택한 후에 필요합니다.

사용자 풀에 소셜 IdP 추가

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

다음을 사용하여 사용자 풀 소셜 ID 공급자를 구성하려면 AWS Management Console
  1. Amazon Cognito 콘솔로 이동합니다. AWS 자격 증명을 입력하라는 메시지가 표시될 수 있습니다.

  2. [사용자 풀(User Pools)]을 선택합니다.

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

  4. [로그인 환경(Sign-in experience)] 탭을 선택합니다. [페더레이션 로그인(Federated sign-in)]을 찾아서 [자격 증명 공급자 추가(Add an identity provider)]를 선택합니다.

  5. Facebook, Google, Login with Amazon 또는 Sign in with Apple과 같은 소셜 자격 증명 공급자를 선택합니다.

  6. 선택한 소셜 ID 공급자에 따라 다음 단계 중에서 선택합니다.

    • GoogleLogin with Amazon — 이전 섹션에서 생성한 앱 클라이언트 ID와 앱 클라이언트 암호를 입력합니다.

    • Facebook — 이전 섹션에서 생성한 앱 클라이언트 ID와 앱 클라이언트 암호를 입력한 다음 API 버전 (예: 버전 2.12) 을 선택합니다. 가능한 최신 버전을 선택하는 것이 좋습니다. 각 API Facebook에는 수명 주기와 사용 중지 날짜가 있습니다. Facebook의 범위와 속성은 버전마다 다를 수 있습니다. API Facebook에서 소셜 ID 로그인을 테스트하여 페더레이션이 의도한 대로 작동하는지 확인하는 것이 좋습니다.

    • 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의 로그인 페이지를 나간 후 오류가 발생합니다 (Amazon Cognito의 내부 오류 또는 개발자가 작성한 모든 오류로 인해 발생할 수 있음).

    • 서비스 ID 식별자는 사용자 풀 및/또는 기타 인증 서비스에서 사용됩니다.

    • 사용자가 로그인한 후 개발자가 추가 범위를 추가합니다. 사용자는 인증할 때와 토큰을 새로 고칠 때만 새 정보를 검색합니다.

    • 개발자가 사용자를 삭제하면 사용자는 Apple ID 프로필에서 앱을 제거하지 않고 다시 로그인합니다.

  8. 자격 증명 공급자의 속성을 사용자 풀에 매핑합니다. 자세한 내용은 매핑에 대해 알아야 할 사항 단원을 참조하십시오.

  9. 생성(Create)을 선택합니다.

  10. [앱 클라이언트 통합(App client integration)] 탭의 목록에서 [앱 클라이언트(App clients)] 중 하나를 선택한 다음, [호스트된 UI 설정 편집(Edit hosted UI settings)]을 선택합니다. [자격 증명 공급자(Identity providers)]에서 앱 클라이언트에 새 소셜 자격 증명 공급자를 추가합니다.

  11. 변경 사항 저장(Save changes)을 선택합니다.

소셜 IdP 구성 테스트

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

https://mydomain.us-east-1.amazoncognito.com/login?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com

사용자 풀 도메인 이름(Domain name) 콘솔 페이지에서 사용자의 도메인을 찾을 수 있습니다. client_id는 앱 클라이언트 설정(App client settings) 페이지에 있습니다. 콜백을 redirect_uri URL 파라미터에 사용하세요. URL인증에 성공하면 사용자가 리디렉션되는 페이지입니다.

참고

Amazon Cognito는 5분 이내에 완료되지 않는 인증 요청을 취소하고 사용자를 호스팅 UI로 리디렉션합니다. 페이지에 Something went wrong 오류 메시지가 표시됩니다.