기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 풀에서 소셜 자격 증명 공급자 사용
웹 및 모바일 앱 사용자들이 Facebook, Google, Amazon 및 Apple 같은 소셜 자격 증명 공급자(IdP)를 통해 로그인할 수 있습니다. Amazon Cognito는 기본 제공 호스트된 웹 UI를 사용하여 모든 인증된 사용자에 대한 토큰 처리 및 관리 기능을 제공합니다. 이렇게 하면 백엔드 시스템을 한 세트의 사용자 풀 토큰에서 표준화할 수 있습니다. 지원되는 소셜 자격 증명 공급자와 통합할 호스트된 UI를 사용하도록 설정해야 합니다. Amazon Cognito가 호스팅 UI를 빌드하면 Amazon Cognito와 OIDC 및 소셜이 정보를 교환하는 데 IdPs 사용하는 OAuth 2.0 엔드포인트가 생성됩니다. 자세한 내용은 Amazon Cognito 사용자 풀 인증 API 참조를 참조하세요.
에서 소셜 IdP를 추가 AWS Management Console하거나 또는 Amazon Cognito 를 AWS CLI 사용할 수 있습니다API.
참고
서드 파티(페더레이션)를 통한 로그인을 Amazon Cognito 사용자 풀에서 사용할 수 있습니다. 이 기능은 Amazon Cognito 자격 증명 풀(페더레이션 자격 증명)을 통한 페더레이션과 무관합니다.
사전 조건
시작하려면 다음이 필요합니다.
-
앱 클라이언트와 사용자 풀 도메인이 있는 사용자 풀. 자세한 내용은 사용자 풀 생성을 참조하세요.
-
소셜 IdP입니다.
1단계: 소셜 IdP에 등록
Amazon Cognito에서 소셜 IdP를 생성하려면 소셜 IdP에 애플리케이션을 등록하여 클라이언트 ID와 클라이언트 암호를 받아야 합니다.
-
Facebook에서 개발자 계정을 생성합니다
. -
Facebook 자격 증명으로 로그인합니다
. -
내 앱(My Apps) 메뉴에서 Create New App(새 앱 생성)을 선택합니다.
-
Facebook 앱의 이름을 입력하고 [앱 ID 생성(Create App ID)]을 선택합니다.
-
왼쪽 탐색 모음에서 [설정(Settings)], [기본 사항(Basic)]을 차례로 선택합니다.
-
앱 ID(App ID)와 앱 보안(App Secret)을 메모합니다. 다음 섹션에서 이 둘을 사용합니다.
-
페이지 하단에서 + 플랫폼 추가(+ Add Platform)을 선택합니다.
-
웹 사이트(Website)를 선택합니다.
-
웹 사이트 에서 앱의 로그인 페이지 경로를 사이트 URL에 입력합니다.
https://
mydomain.us-east-1.amazoncognito.com
/login?response_type=code&client_id=1example23456789
&redirect_uri=https://www.example.com
-
변경 사항 저장(Save changes)을 선택합니다.
-
[앱 도메인(App Domains)]에 사용자 풀 도메인 루트의 경로를 입력합니다.
https://
mydomain.us-east-1.amazoncognito.com
-
변경 사항 저장(Save changes)을 선택합니다.
-
탐색 모음에서 [제품 추가(Add Product)]을 선택한 다음 [Facebook 로그인(Facebook Login)] 제품의 [설정(Set up)]을 선택합니다.
-
탐색 모음에서 Facebook 로그인(Facebook Login)과 설정(Settings)을 차례로 선택합니다.
사용자 풀 도메인의
/oauth2/idpresponse
엔드포인트 경로를 유효한 OAuth 리디렉션 URIs에 입력합니다.https://
mydomain.us-east-1.amazoncognito.com
/oauth2/idpresponse -
변경 사항 저장(Save changes)을 선택합니다.
-
Amazon에서 개발자 계정을 생성합니다
. -
Amazon 자격 증명으로 로그인합니다
. -
Amazon 보안 프로파일을 생성하여 Amazon 클라이언트 ID와 클라이언트 암호를 받아야 합니다.
페이지 상단의 탐색 모음에서 Apps and Services(앱 및 서비스)를 선택한 다음 Login with Amazon을 선택합니다.
-
보안 프로필 생성(Create a Security Profile)을 선택합니다.
-
보안 프로필 이름 , 보안 프로필 설명 , 동의 개인정보 보호 고지 URL를 입력합니다.
-
저장(Save)을 선택합니다.
-
클라이언트 ID(Client ID) 및 클라이언트 암호(Client Secret)를 선택하여 클라이언트 ID 및 암호를 표시합니다. 다음 섹션에서 이 둘을 사용합니다.
-
톱니 모양 아이콘을 마우스로 가리키고 [웹 설정(Web Settings)]을 선택한 다음, [편집(Edit)]을 선택합니다.
-
[허용된 원본(Allowed Origins)]에 사용자 풀 도메인을 입력합니다.
https://
mydomain.us-east-1.amazoncognito.com
-
/oauth2/idpresponse
엔드포인트가 있는 사용자 풀 도메인을 허용된 반환 URLs에 입력합니다.https://
mydomain.us-east-1.amazoncognito.com
/oauth2/idpresponse -
저장(Save)을 선택합니다.
Google Cloud 플랫폼의 OAuth 2.0에 대한 자세한 내용은 Google Workspace for Developers 설명서의 인증 및 권한 부여에 대해 알아보기
-
Google에서 개발자 계정을 생성합니다
. -
Google Cloud Platform 콘솔
에 로그인합니다. -
상단 탐색 모음에서 프로젝트 선택(Select a project)을 선택합니다. Google 플랫폼에 프로젝트가 이미 있는 경우 이 메뉴에는 대신 기본 프로젝트가 표시됩니다.
-
NEW 를 PROJECT선택합니다.
-
제품의 이름을 입력한 다음 를 선택합니다CREATE.
-
왼쪽 탐색 모음에서 APIs 및 서비스를 선택한 다음 Oauth 동의 화면 을 선택합니다.
-
앱 정보(App information), 앱 도메인(App domain), 공인 도메인(Authorized domains) 및 개발자 연락처 정보(Developer contact information)를 입력합니다. 공인 도메인(Authorized domains)은
amazoncognito.com
및 사용자 지정 도메인의 루트를 포함해야 합니다(예:example.com
). SAVE AND 를 CONTINUE선택합니다. -
1. 범위 에서 범위 추가 또는 제거 를 선택하고 최소한 다음 OAuth 범위를 선택합니다.
-
.../auth/userinfo.email
-
.../auth/userinfo.profile
-
openid
-
-
사용자 테스트(Test users)에서 사용자 추가(Add users)를 선택합니다. 이메일 주소와 다른 승인된 테스트 사용자를 입력한 다음 SAVE AND CONTINUE를 선택합니다.
-
왼쪽 탐색 모음을 다시 확장하고 APIs 및 서비스 를 선택한 다음 자격 증명 을 선택합니다.
-
CREATE CREDENTIALS를 선택한 다음 OAuth 클라이언트 ID 를 선택합니다.
-
애플리케이션 유형(Application type)을 선택하고 클라이언트 이름을 지정합니다.
-
승인된 JavaScript 오리진에서 를 선택합니다ADDURI. 사용자 풀 도메인을 입력합니다.
https://
mydomain.us-east-1.amazoncognito.com
-
승인된 리디렉션URIs에서 ADD URI를 선택합니다. 사용자 풀 도메인의
/oauth2/idpresponse
엔드포인트에 대한 경로를 입력합니다.https://
mydomain.us-east-1.amazoncognito.com
/oauth2/idpresponse -
를 선택합니다CREATE.
-
클라이언트 ID(Your client ID)와 클라이언트 암호(Your client secret)에서 Google이 표시하는 값을 안전하게 저장합니다. Google IdP를 추가할 때 이러한 값을 Amazon Cognito에 입력합니다.
Apple로 로그인 설정에 대한 자세한 up-to-date 내용은 Apple 개발자 설명서의 Apple로 로그인을 위한 환경 구성을 참조하세요
-
Apple에서 개발자 계정
을 생성합니다. -
Apple 자격 증명으로 로그인
합니다. -
왼쪽 탐색 모음에서 인증서, 식별자 및 프로필(Certificates, Identifiers & Profiles)을 선택합니다.
-
왼쪽 탐색 모음에서 식별자(Identifiers)를 선택합니다.
-
식별자(Identifiers) 페이지에서 + 아이콘을 선택합니다.
-
새 식별자 등록 페이지에서 앱 IDs을 선택한 다음 계속 을 선택합니다.
-
유형 선택(Select a type) 페이지에서 앱(App)을 선택하고 계속(Continue)을 선택합니다.
-
앱 ID 등록(Register an App ID) 페이지에서 다음을 수행합니다.
-
설명(Description)에 설명을 입력합니다.
-
앱 ID 접두사(App ID Prefix)에서 번들 ID(Bundle ID)를 입력합니다. [앱 ID 접두사(App ID Prefix)] 아래의 값을 적어 둡니다. 2단계: 사용자 풀에 소셜 IdP 추가에서 자격 증명 공급자로 Apple을 선택한 후 이 값을 사용합니다.
-
기능(Capabilities)에서 Apple로 로그인(Sign In with Apple)을 선택한 다음 편집(Edit)을 선택합니다.
-
Apple로 로그인: 앱 ID 구성 페이지에서 앱을 기본 앱으로 설정하거나 다른 앱과 그룹화하도록 선택한 IDs다음 저장을 선택합니다.
-
계속을 선택합니다.
-
-
앱 ID 확인(Confirm your App ID) 페이지에서 등록(Register)을 선택합니다.
-
식별자(Identifiers) 페이지에서 + 아이콘을 선택합니다.
-
새 식별자 등록 페이지에서 서비스 IDs를 선택한 다음 계속 을 선택합니다.
-
서비스 ID 등록(Register a Services ID) 페이지에서 다음을 수행합니다.
-
설명에 설명을 입력합니다.
-
Identifier(식별자)에 식별자를 입력합니다. 2단계: 사용자 풀에 소셜 IdP 추가에서 ID 제공업체로 Apple을 선택한 후 이 값이 필요하므로 이 서비스 ID를 기록해 두세요.
-
계속(Continue)과 등록(Register)을 차례로 선택합니다.
-
-
식별자(Identifiers) 페이지에서 방금 생성한 서비스 ID를 선택합니다.
-
Apple로 로그인(Sign In with Apple)을 선택한 다음 구성(Configure)을 선택합니다.
-
웹 인증 구성(Web Authentication Configuration) 페이지에서 앞서 생성한 앱 ID를 기본 앱 ID(Primary App ID)로 선택합니다.
-
웹 사이트 URLs옆의 + 아이콘을 선택합니다.
-
도메인 및 하위 도메인(Domains and subdomains)에서
https://
접두사를 사용하지 않고 사용자 풀 도메인을 입력합니다.mydomain.us-east-1.amazoncognito.com
-
반환URLs에서 사용자 풀 도메인의
/oauth2/idpresponse
엔드포인트에 대한 경로를 입력합니다.https://
mydomain.us-east-1.amazoncognito.com
/oauth2/idpresponse -
다음(Next)과 완료(Done)를 차례로 선택합니다. 도메인을 확인할 필요는 없습니다.
-
계속(Continue)과 저장(Save)을 차례로 선택합니다.
-
-
왼쪽 탐색 모음에서 키(Keys)를 선택합니다.
-
키(Keys) 페이지에 + 아이콘을 선택합니다.
-
새 키 등록(Register a New Key) 페이지에서 다음을 수행합니다.
-
[키 이름(Key Name)] 아래에 키 이름을 입력합니다.
-
Apple로 로그인(Sign In with Apple)을 선택한 다음 구성(Configure)을 선택합니다.
-
키 구성(Configure Key) 페이지에서 앞서 생성한 앱 ID를 기본 앱 ID(Primary App ID)로 선택합니다. 저장(Save)을 선택합니다.
-
계속(Continue), 등록(Register)을 차례로 선택합니다.
-
-
[키 다운로드(Download Your Key)] 페이지에서 [다운로드(Download)]를 선택하여 프라이빗 키를 다운로드하고 표시된 [키 ID(Key ID)]를 적어 둔 다음 [완료(Done)]를 선택합니다. 이 프라이빗 키와 이 페이지에 표시되는 키 ID(Key ID) 값은 2단계: 사용자 풀에 소셜 IdP 추가에서 자격 증명 공급자로 Apple을 선택한 후에 필요합니다.
2단계: 사용자 풀에 소셜 IdP 추가
를 사용하여 사용자 풀 소셜 IdP를 구성하려면 AWS Management Console
-
Amazon Cognito 콘솔
로 이동합니다. 메시지가 표시되면 AWS 자격 증명을 입력합니다. -
[사용자 풀(User Pools)]을 선택합니다.
-
목록에서 기존 사용자 풀을 선택하거나 사용자 풀을 생성합니다.
-
[로그인 환경(Sign-in experience)] 탭을 선택합니다. 페더레이션 로그인(Federated sign-in)을 찾아서 자격 증명 공급자 추가(Add an identity provider)를 선택합니다.
-
Login with Amazon 또는 Facebook, Google Apple로 로그인(Sign in with Apple) 소셜 IdP를 선택합니다.
-
선택한 소셜 IdP에 따라 다음 단계 중에서 선택합니다.
-
Google 및 Login with Amazon - 이전 섹션에서 생성된 앱 클라이언트 ID(app client ID)와 앱 클라이언트 암호(app client secret)를 입력합니다.
-
Facebook — 이전 섹션에서 생성된 앱 클라이언트 ID와 앱 클라이언트 암호를 입력한 다음 API 버전(예: 버전 2.12)을 선택합니다. 각 Facebook에는 API 수명 주기와 중단 날짜가 있으므로 가능한 최신 버전을 선택하는 것이 좋습니다. Facebook 범위와 속성은 API 버전마다 다를 수 있습니다. Facebook에서 소셜 자격 증명 로그인을 테스트하여 페더레이션이 의도한 대로 작동하는지 확인하는 것이 좋습니다.
-
Apple로 로그인(Sign In with Apple) - 이전 섹션에서 생성된 서비스 ID(Services ID), 팀 ID(Team ID), 키 ID(Key ID), 프라이빗 키(private key)를 입력합니다.
-
-
사용할 [권한 있는 범위(Authorized scopes)]의 이름을 입력합니다. 범위는 앱에서 액세스하고자 하는 사용자 속성(예:
name
및email
)을 정의합니다. 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 프로필에서 앱을 제거하지 않고 다시 로그인함
-
-
IdP의 속성을 사용자 풀에 매핑합니다. 자세한 내용은 사용자 풀에 대한 자격 증명 공급자 속성 매핑 지정을 참조하세요.
-
생성(Create)을 선택합니다.
-
앱 클라이언트 통합(App client integration) 탭의 목록에서 앱 클라이언트(App clients) 중 하나를 선택한 다음, 호스트된 UI 설정 편집(Edit hosted UI settings)을 선택합니다. 자격 증명 공급자(Identity providers)에서 앱 클라이언트에 새 소셜 IdP를 추가합니다.
-
변경 사항 저장(Save changes)을 선택합니다.
3단계: 소셜 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
오류 메시지가 표시됩니다.