앱과 통합
새 사용자가 앱을 검색하거나 기존 사용자가 앱으로 다시 이동할 경우 첫 번째 작업은 가입 또는 로그인하는 것이다. Amazon Cognito를 클라이언트 코드와 통합하면 인증 및 권한 부여 워크플로를 지원하는 AWS 리소스에 앱을 연결할 수 있다. 예를 들어 앱은 Amazon Cognito API를 사용하여 사용자 풀에서 새 사용자를 생성하고, 사용자 풀 토큰을 검색하고, 아이덴터티 풀에서 임시 크레덴셜을 얻는다. Amazon Cognito를 웹 또는 모바일 앱과 통합하려면 AWS SDK 및 라이브러리를 사용한다.
Amazon Cognito에서 AWS Management Console 통합 및 호스팅 UI와 같은 시각적 도구를 제공하지만 AWS에서 앱 코드와 함께 작동하도록 서비스를 설계했다. Amazon Cognito의 특정 구성 요소만 API 또는 AWS Command Line Interface를 사용하여 구성할 수 있다. 예를 들어 AssociateSoftwareToken으로 시작하는 프로세스를 사용하여 시간 동기화 방식 일회용 암호(TOTP) 멀티 팩터 인증(MFA)에만 사용자를 등록할 수 있다. Amazon Cognito 인증 및 권한 부여를 사용하기 전에 앱 플랫폼을 선택하고 서비스와 통합할 코드를 준비한다.
1. AWS Amplify 프레임워크를 사용한 Amazon Cognito 인증
AWS Amplify는 웹 및 모바일 개발자를 위한 서비스와 라이브러리를 제공한다. Amplify를 사용하면 AWS 서비스가 구성하는 백엔드 환경과 통합하는 앱을 구축할 수 있다. 백엔드 환경을 프로비저닝하고 AWS 서비스를 클라이언트 코드와 통합하려면 Amplify 프레임워크를 사용한다. 이 프레임워크는 분석, 스토리지, 인증 등의 범주로 구성된 기능에 대한 AWS 리소스를 구성하는 데 도움이 되는 대화형 명령줄 인터페이스(CLI)를 제공한다. 또한 이 프레임워크는 iOS, Android 및 JavaScript를 포함한 웹 및 모바일 플랫폼을 위한 고급 SDK 및 라이브러리를 제공한다. JavaScript 프레임워크는 React, React Native, Angular, Ionic 및 Vue를 포함한다. 각 SDK 및 라이브러리는 Amazon Cognito가 구동하는 인증 워크플로를 구현하는 데 사용할 수 있는 인증 작업을 포함한다.
Amplify 프레임워크를 사용하여 앱에 인증을 추가하려면 플랫폼에 대한 Amplify 권한 부여 설명서를 참조한다.
2. amazon-cognito-identity-js를 사용하는 인증
JavaScript용 Amazon Cognito 아이덴터티 SDK를 사용하면 앱이 Amazon Cognito 사용자 풀에 사용자를 등록하고 인증할 수 있다. 또한 앱은 이 SDK를 사용하여 Amazon Cognito 사용자 풀의 사용자 속성을 보고, 삭제하고, 업데이트할 수 있다. 이 amazon-cognito-identity-js 패키지는 인증된 사용자가 암호를 변경할 수 있도록 하는 샘플 코드를 제공한다. 이 패키지는 인증되지 않은 사용자를 위해 잊혀진 암호를 시작하고 완전히 복구할 수 있는 샘플 코드도 제공한다.
JavaScript용 Amazon Cognito 아이덴터티 SDK
3. AWS SDK를 사용하는 인증
보안 백엔드를 사용하여 Amazon Cognito와 상호 작용하는 자체 아이덴터티 마이크로서비스를 구축해야 하는 경우 Amazon Cognito 사용자 풀 및 Amazon Cognito 페더레이션 아이덴터티 API를 사용할 수 있다.
각 API 작업에 대한 자세한 내용은 Amazon Cognito 사용자 풀 API 참조 및 Amazon Cognito API 참조를 참조한다. 이 문서에는 지원되는 플랫폼에서 다양한 SDK를 사용하기 위한 리소스가 포함된 다음 사항도 참조하십시오 섹션도 포함되어 있다.