1

사용자가 Azure AD 계정과 Facebook 계정으로 로그인 할 수있는 React 응용 프로그램을 개발하려고합니다.AWS를 사용하여 사용자 인증 Cognito + Azure AD + Facebook

첫 번째 일은 두 개의 탭 "사용자 풀 및 페더레이션 ID"에 대해 이해하지 못했다는 것입니다. 이 작업을 완료하거나 둘 다 필요합니까? 사용자 풀만 있으면 충분합니까?

내 목표는 인증에 불과합니다. 사용자가 AWS 서비스에 액세스하는 것을 허용하고 싶지 않습니다. 난 그냥 인증 토큰을 원해.

페더레이션 ID 및 Facebook SDK를 사용하여 페이스 북을 통해 로그인 한 사용자가 이미 있지만 페이스 북의 인증에서 토큰을받은 후 사용자 데이터를 저장하는 방법을 모르겠습니다. 또한 facebook SDK를 사용하는 것이 맞습니까? 아니면 Cognito를 사용하여 모든 인증 방법을 처리해야합니까?

답변

1

작업을 완료하거나 사용자 풀만 있으면 충분합니까?
아니요. 인증이 필요하고 AWS 서비스를 사용할 필요가없는 경우 Userpool이 충분하지 않습니다.

페더레이션 ID 및 Facebook SDK를 사용하여 페이스 북을 통해 로그인 한 사용자가 이미 있지만 페이스 북의 인증에서 토큰을받은 후 사용자 데이터를 저장하는 방법을 알지 못합니다.
저장해야하는 사용자 데이터가 무엇입니까? 사용자 프로필 데이터를 Cognito에 저장하려면 Cognito Userpool & (페더레이션 ID 없음)을 사용해야합니다. Facebook을 직접 Userpool에 추가하십시오. Facebook 로그인을 사용하면 사용자가 토큰에서 사용 가능한 모든 사용자 데이터를 기반으로 사용자 풀에 자동으로 생성됩니다. 사용자 풀에 Facebook을 직접 추가하는 방법은 this 문서를 참조하십시오.

facebook SDK를 사용하는 것이 맞습니까? 아니면 모든 인증 방법을 처리 할 때 Cognito를 사용해야합니까?
사용 사례에 따라 다릅니다. 앱에 인증을 추가하려면 Facebook을 Userpool에 직접 추가하고 애플리케이션의 사용자 풀에 앱 클라이언트를 생성하는 것이 가장 좋습니다. 해당 응용 프로그램 클라이언트의 Facebook 활성화 & Cognito Userpool의 내장 UI를 사용하여 Facebook을 사용하여 로그인하십시오. 이 기능 (기본 제공 UI)을 앱 통합이라고합니다. Facebook에 성공적으로 로그인하면 유효한 토큰이 앱에 전송됩니다. 앱으로 전송 된 토큰은 Cognito에서 가져온 것입니다.

클라이언트 -> 사용자 풀 내장 UI -> 사용자 이름 + 비밀번호를 사용하여 로그인 -> Facebook에서 토큰을 Cognito로 보냄 (https://your-user-pool-domain/oauth2/idpresponse)--> 사용자 풀에서 자체 토큰을 제공함) &이 언급 된 URL로 리디렉션됩니다. redirect_uri에서

+0

모바일 앱은 어떨까요? 소셜 미디어 로그인이 있고 Cognito UI를 사용할 수없는 경우에는 Facebook SDK를 대신 사용해야하며 (tokens + user_data)를 Cognito로 전달하십시오. 반응이없는 기본 btw를 사용하고 있습니다. –

+1

사용자 풀을 계속 사용할 수 있습니다. 자신 만의 UI가 필요하다면이 질문에 대한 답변을보십시오 .https : //stackoverflow.com/a/47035466/3479734 – agent420