Flutter로 예제 안드로이드 앱을 설정해 보세요. - Amazon Cognito

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

Flutter로 예제 안드로이드 앱을 설정해 보세요.

이 자습서에서는 Android Studio에서 기기를 에뮬레이션하고 사용자 가입, 확인, 로그인을 테스트할 수 있는 모바일 애플리케이션을 만들어 보겠습니다. 이 예제 애플리케이션은 Flutter에서 안드로이드용 기본 Amazon Cognito 사용자 풀 모바일 클라이언트를 생성합니다. 이미 Flutter를 사용한 모바일 앱 개발 경험이 있다면 에서 예제 앱을 다운로드하십시오. GitHub

다음 스크린샷은 가상 Android 기기에서 실행되는 앱을 보여줍니다.

가상화된 Android 예제 앱의 가입 페이지 스크린샷입니다.

사용자 풀 생성 절차는 예제 애플리케이션과 호환되는 사용자 풀을 설정합니다. 다음 요구 사항을 충족하는 사용자 풀이 있는 경우 이 단계를 건너뛸 수 있습니다.

  • 사용자는 자신의 이메일 주소로 로그인할 수 있습니다. Cognito 사용자 풀 로그인 옵션: 이메일.

  • 사용자 이름은 대소문자를 구분하지 않습니다. 사용자 이름 요구 사항: 사용자 이름 대소문자를 구분하도록 설정이 선택되지 않았습니다.

  • 다단계 인증 (MFA) 은 필요하지 않습니다. MFA적용: 선택 사항 MFA.

  • 사용자 풀은 이메일 메시지를 통해 사용자 프로필 확인을 위한 속성을 확인합니다. 확인할 속성: 이메일 메시지 전송, 이메일 주소 확인.

  • 이메일은 유일한 필수 속성입니다. 필수 속성: 이메일.

  • 사용자는 사용자 풀에 자신을 등록할 수 있습니다. 셀프 등록: 셀프 등록 활성화가 선택되었습니다.

  • 초기 앱 클라이언트는 사용자 이름과 비밀번호로 로그인할 수 있는 공개 클라이언트입니다. 앱 유형: 퍼블릭 클라이언트, 인증 흐름:. ALLOW_USER_PASSWORD_AUTH

새 사용자 풀 생성
  1. Amazon Cognito 콘솔로 이동합니다. 메시지가 표시되면 AWS 자격 증명을 입력합니다.

  2. 사용자 풀 생성 버튼을 선택합니다. 이 옵션을 표시하려면 왼쪽 탐색 창에서 사용자 풀을 선택해야 할 수도 있습니다.

  3. 페이지 오른쪽 상단에서 사용자 풀 생성(Create a user pool)을 선택하여 사용자 풀 생성 마법사를 시작합니다.

  4. 로그인 환경 구성에서 이 사용자 풀에 사용할 ID 공급자 (IdPs) 를 선택할 수 있습니다. 자세한 내용은 서드 파티를 통한 사용자 풀 로그인 추가 단원을 참조하십시오.

    1. 인증 제공자에서 공급자 유형에는 Cognito 사용자 풀만 선택되어 있는지 확인합니다.

    2. Cognito 사용자 풀 로그인 옵션의 경우 사용자 이름을 선택합니다. 추가 사용자 이름 요구 사항을 선택하지 마세요.

    3. 다른 모든 옵션은 기본값으로 유지하고 다음을 선택합니다.

  5. 보안 요구 사항 구성에서 암호 정책, 다단계 인증 (MFA) 요구 사항 및 사용자 계정 복구 옵션을 선택할 수 있습니다. 자세한 내용은 Amazon Cognito 사용자 풀의 보안 기능 사용 단원을 참조하십시오.

    1. 암호 정책의 경우 암호 정책 모드가 Cognito 기본값으로 설정되어 있는지 확인합니다.

    2. 다중 요소 인증에서 MFA 적용을 위해 [선택 사항] 을 선택합니다. MFA

    3. MFA방법에 대해서는 Authenticator 앱 및 메시지를 선택합니다. SMS

    4. 사용자 계정 복구의 경우 셀프 서비스 계정 복구 활성화가 선택되어 있고 사용자 계정 복구 메시지 전달 방법이 이메일 전용으로 설정되어 있는지 확인합니다.

    5. 다른 모든 옵션은 기본값으로 유지하고 다음을 선택합니다.

  6. 가입 환경 구성에서 새 사용자로 가입할 때 새 사용자가 자신의 ID를 확인하는 방법과 사용자 가입 과정에서 필수 또는 선택 사항으로 설정해야 하는 속성을 결정할 수 있습니다. 자세한 내용은 사용자 풀의 사용자 관리 단원을 참조하십시오.

    1. 셀프 등록 활성화가 선택되었는지 확인합니다. 이 설정을 사용하면 사용자 풀이 열려 인터넷상의 모든 사용자가 가입할 수 있습니다. 이는 예제 애플리케이션을 위한 것이지만 프로덕션 환경에서는 이 설정을 주의해서 적용하십시오.

    2. Cognito 지원 확인 및 확인에서 Cognito가 확인 및 확인을 위해 메시지를 자동으로 보내도록 허용 확인란이 선택되어 있는지 확인합니다.

    3. 확인할 속성이 이메일 메시지 전송, 이메일 주소 확인으로 설정되어 있는지 확인합니다.

    4. 속성 변경 확인에서 기본 옵션이 선택되어 있는지 확인합니다. 즉, 업데이트 보류 시 원래 속성 값 유지가 선택되고, 업데이트 보류 중 활성 속성 값이 이메일 주소로 설정되어 있는지 확인합니다.

    5. 필수 속성에서 이전 선택 항목을 기반으로 하는 필수 속성에 이메일이 표시되는지 확인합니다.

      중요

      이 예제 응용 프로그램의 경우 사용자 풀이 phone_number를 필수 속성으로 설정해서는 안 됩니다. phone_number가 필수 속성으로 표시된 경우 이전 선택 사항을 검토하고 업데이트하십시오.

      • 선택 사항 MFA, 사용자 계정 복구 메시지의 전송 방법은 이메일 전용

      • 이메일 메시지 전송, 확인할 속성에 대한 이메일 주소 확인

    6. 다른 모든 옵션은 기본값으로 유지하고 다음을 선택합니다.

  7. 메시지 전송 구성에서 가입, 계정 확인 및 계정 복구를 위해 사용자에게 이메일과 SMS 메시지를 보내도록 Amazon Simple Email Service 및 Amazon Simple Notification Service와의 통합을 구성할 수 있습니다. MFA 자세한 내용은 Amazon Cognito 사용자 풀에 대한 이메일 설정SMSAmazon Cognito 사용자 풀의 메시지 설정 단원을 참조하세요.

    1. 이메일 공급자의 경우 Cognito로 이메일 보내기를 선택하고 Amazon Cognito에서 제공하는 기본 이메일 발신자를 사용합니다. 이메일 용량이 적은 이 설정은 애플리케이션 테스트에 충분합니다. Amazon 심플 이메일 서비스 (AmazonSES) 를 통해 이메일 주소를 확인하고 Amazon으로 이메일 보내기를 선택하면 반품할 수 SES 있습니다.

    2. SMS경우 새 IAM 역할 생성을 선택하고 IAM역할 이름을 입력합니다. 그러면 Amazon Cognito에 메시지를 보낼 SMS 권한을 부여하는 역할이 생성됩니다.

    3. 다른 모든 옵션은 기본값으로 유지하고 다음을 선택합니다.

  8. 앱 통합에서 사용자 풀의 이름을 지정하고, 호스팅된 UI를 구성하고, 앱 클라이언트를 생성할 수 있습니다. 자세한 내용은 호스팅된 UI가 있는 앱 클라이언트 추가 단원을 참조하십시오. 예제 애플리케이션은 호스팅된 UI를 사용하지 않습니다.

    1. 사용자 풀 이름에 사용자 풀 이름을 입력합니다.

    2. Cognito 호스팅 UI 사용을 선택하지 마세요.

    3. 초기 앱 클라이언트에서 앱 유형이 퍼블릭 클라이언트로 설정되어 있는지 확인합니다.

    4. 클라이언트 암호에서 클라이언트 암호를 생성하지 않음이 선택되어 있는지 확인합니다.

    5. [앱 클라이언트 이름(App client name)]을 입력합니다.

    6. 고급 앱 클라이언트 설정을 확장합니다. 인증 흐름 목록에 ALLOW_USER_PASSWORD_AUTH 추가합니다.

    7. 다른 모든 옵션은 기본값으로 유지하고 다음을 선택합니다.

  9. 검토 및 작성 화면에서 선택 사항을 검토하고 필요에 따라 선택 내용을 수정합니다. 사용자 풀 구성에 만족하면 사용자 풀 생성을 선택하여 계속 진행하십시오.

  10. 사용자 풀 페이지에서 새 사용자 풀을 선택합니다.

  11. 사용자 풀 개요에서 사용자 풀 ID를 기록해 둡니다. 예제 애플리케이션을 만들 때 이 문자열을 제공하게 됩니다.

  12. 앱 통합 탭을 선택하고 앱 클라이언트 및 분석 섹션을 찾으십시오. 새 앱 클라이언트를 선택합니다. 클라이언트 ID를 기록해 둡니다.

애플리케이션 생성

예제 Android 앱을 만들려면
  1. Android 스튜디오명령줄 도구를 설치합니다.

  2. 안드로이드 스튜디오에서 Flutter 플러그인을 설치합니다.

  3. 이 예제 앱의 cognito_flutter_mobile_app 디렉터리 콘텐츠로 새 Android 스튜디오 프로젝트를 생성합니다.

    1. 이전에 만든 사용자 <<YOUR USER POOL ID>><< YOUR CLIENT ID>> 풀과 앱 클라이언트를 assets/config.json 편집하고 교체합니다. IDs

  4. Flutter를 설치하세요.

    1. 변수에 플러터를 추가하세요. PATH

    2. 다음 명령으로 라이선스를 수락합니다.

      flutter doctor --android-licenses

    3. Flutter 환경을 확인하고 누락된 구성 요소를 모두 설치하십시오.

      flutter doctor

      1. 구성 요소가 누락된 경우 flutter doctor -v 실행하여 문제 해결 방법을 알아보세요.

    4. 새 Flutter 프로젝트의 디렉터리로 변경하고 종속 항목을 설치하세요.

      1. flutter pub add amazon_cognito_identity_dart_2를 실행합니다.

    5. flutter pub add flutter_secure_storage를 실행합니다.

  5. 가상 안드로이드 기기를 만드세요.

    1. Android GUI 스튜디오에서 기기 관리자를 사용하여 새 기기를 생성합니다.

    2. CLI에서 실행합니다flutter emulators --create --name android-device.

  6. 가상 안드로이드 기기를 실행하세요.

    1. Android GUI 스튜디오에서 가상 기기 옆에 있는 시작 Play button icon with a blue triangle pointing to the right. 아이콘을 선택합니다.

    2. CLI에서 실행합니다flutter emulators --launch android-device.

  7. 가상 기기에서 앱을 실행합니다.

    1. Android GUI 스튜디오에서 배포 Green play button icon representing a start or play action. 아이콘을 선택합니다.

    2. CLI에서 실행합니다flutter run.

  8. Android 스튜디오에서 실행 중인 가상 기기로 이동합니다.

  9. 유효한 이메일 주소로 새 사용자를 등록하세요.

  10. 이메일 메시지에서 확인 코드를 검색하세요. 신청서에 확인 코드를 입력합니다.

  11. 사용자 이름과 비밀번호로 로그인합니다.