Cognito 사용자 풀 생성하기

우리의 노트 앱은 사용자 계정과 인증을 안전하고 신뢰할 수 있는 방식으로 처리해야 합니다. 이를 위해 Amazon Cognito를 사용할 것입니다.

Amazon Cognito 사용자 풀은 개발자가 웹 및 모바일 애플리케이션에 회원가입 및 로그인 기능을 쉽게 추가할 수 있도록 도와줍니다. 이는 사용자 디렉토리를 유지하기 위한 자체 ID 제공자 역할을 합니다. 사용자 등록 및 로그인을 지원하며, 로그인한 사용자에게 ID 토큰을 발급합니다.

이번 장에서는 노트 앱을 위한 사용자 풀을 생성해 보겠습니다.

사용자 풀 생성하기

AWS 콘솔에서 서비스 목록에서 Cognito를 선택하세요.

Amazon Cognito 서비스 선택 스크린샷

Manage your User Pools를 선택하세요.

Cognito 사용자 풀 관리 선택 스크린샷

Create a User Pool을 선택하세요.

Cognito 사용자 풀 생성 선택 스크린샷

Pool name을 입력하고 Review defaults를 선택하세요.

Cognito 사용자 풀 정보 입력 스크린샷

Choose username attributes…를 선택하세요.

사용자 이름 속성 선택 스크린샷

Email address or phone numbersAllow email addresses를 선택하세요. 이 설정은 Cognito 사용자 풀에게 사용자가 이메일을 사용자 이름으로 가입하고 로그인할 수 있도록 허용한다는 것을 의미합니다.

이메일 주소를 사용자 이름으로 선택 스크린샷

아래로 스크롤하여 Next step을 선택하세요.

속성 다음 단계 선택 스크린샷

사이드 패널에서 Review를 클릭하고 Username attributesemail로 설정되어 있는지 확인하세요.

사용자 풀 설정 검토 스크린샷

이제 페이지 하단의 Create pool을 클릭하세요.

풀 생성 선택 스크린샷

사용자 풀이 생성되었습니다. 나중에 필요할 Pool IdPool ARN을 기록해 두세요. 또한 사용자 풀이 생성된 리전도 확인하세요. 이 예제에서는 us-east-1입니다.

Cognito 사용자 풀 생성 완료 스크린샷

앱 클라이언트 생성

왼쪽 패널에서 앱 클라이언트를 선택하세요.

Cognito 사용자 풀 앱 선택 스크린샷

앱 클라이언트 추가를 선택하세요.

앱 추가 선택 스크린샷

앱 클라이언트 이름을 입력하고, 클라이언트 시크릿 생성을 선택 해제한 후, 서버 기반 인증을 위한 로그인 API 활성화를 선택하고, 앱 클라이언트 생성을 선택하세요.

  • 클라이언트 시크릿 생성 비활성화: 클라이언트 시크릿이 있는 사용자 풀 앱은 JavaScript SDK에서 지원되지 않습니다. 이 옵션을 선택 해제해야 합니다.
  • 관리자 API를 위한 사용자 이름 및 비밀번호 인증 활성화: 커맨드라인 인터페이스를 통해 풀 사용자를 관리할 때 AWS CLI에서 필요합니다. 다음 장에서 커맨드라인 인터페이스를 통해 테스트 사용자를 생성할 것입니다.

Cognito 사용자 풀 앱 정보 입력 스크린샷

이제 앱 클라이언트 생성을 선택하세요.

Cognito 사용자 풀 앱 클라이언트 생성 스크린샷

앱 클라이언트가 생성되었습니다. 이후 장에서 필요할 앱 클라이언트 ID를 기록해 두세요.

Cognito 사용자 풀 앱 생성 완료 스크린샷

도메인 이름 생성

마지막으로 왼쪽 패널에서 도메인 이름을 선택하세요. 고유한 도메인 이름을 입력하고 변경 사항 저장을 선택하세요. 여기서는 notes-app을 사용합니다.

Cognito 사용자 풀 앱 선택 스크린샷

이제 Cognito 사용자 풀이 준비되었습니다. 이 풀은 노트 앱을 위한 사용자 디렉토리를 관리합니다. 또한 API에 대한 접근을 인증하는 데 사용됩니다. 다음으로 풀 내에 테스트 사용자를 설정해 보겠습니다.