Outras opções de aplicações
Você pode ter uma IU de aplicação existente que deseja integrar à autenticação do Amazon Cognito. Você pode até ter suas próprias páginas de autenticação existentes com uma configuração de diretório menos funcional do que os grupos de usuários do Amazon Cognito. Você pode adicionar ou substituir um componente de autenticação em uma aplicação desse tipo com integrações do Amazon Cognito em SDKs da AWS para uma variedade de linguagens de programação. Estes são alguns exemplos.
Se você criar um grupo de usuários para essa finalidade no console do Amazon Cognito, poderá não ser necessário ter um domínio do grupo de usuários que hospede páginas de login interativas e serviços OpenID Connect (OIDC). O processo de criação do grupo de usuários no console gera automaticamente um domínio para você. É possível excluir esse domínio na guia Domínio do grupo de usuários. Outras opções incluem a criação programática de recursos do Amazon Cognito para sua aplicação com solicitações de API em SDKs da AWS e com as opções de configuração automatizada na CLI do AWS Amplify. Para obter mais informações, consulte Integração da autenticação e autorização do Amazon Cognito com aplicações móveis e da web.
Tópicos
Configurar um exemplo de aplicação de página única do React
Neste tutorial, você criará uma aplicação de página única do React para testar a inscrição, a confirmação e o login do usuário. React é uma biblioteca baseada em JavaScript para aplicações web e móveis, com foco na interface do usuário (UI). Este exemplo de aplicação demonstra algumas funções básicas dos grupos de usuários do Amazon Cognito. Se você já tem experiência em desenvolvimento de aplicações web com o React, baixe a aplicação de exemplo no GitHub
A captura de tela a seguir é da página de autenticação inicial na aplicação que você vai criar.
Para configurar essa aplicação, o grupo de usuários deve atender aos seguintes requisitos:
-
Os usuários podem fazer login com o endereço de e-mail. Opções de login do grupo de usuários do Cognito: E-mail.
-
Os nomes de usuário não diferenciam maiúsculas de minúsculas. Requisitos de nome de usuário: a opção Tornar o nome de usuário sensível a maiúsculas e minúsculas não está selecionada.
-
A autenticação multifator (MFA) não é necessária. Aplicação da MFA: a MFA é opcional.
-
Seu grupo de usuários verifica os atributos para confirmação do perfil de usuário com uma mensagem de e-mail. Atributos a serem verificados: enviar mensagem de e-mail, verificar endereço de e-mail.
-
E-mail é o único atributo obrigatório. Atributos obrigatórios: e-mail.
-
Os usuários podem se cadastrar no seu grupo de usuários. Autorregistro: a opção Habilitar autorregistro está selecionada.
-
Seu cliente de aplicação inicial é público e permite o login com nome de usuário e senha. Tipo de aplicação: Cliente público, Fluxos de autenticação:
ALLOW_USER_PASSWORD_AUTH.
Cria uma aplicação
Para criar essa aplicação, configure um ambiente de desenvolvedor. Os requisitos do ambiente do desenvolvedor são os seguintes:
-
O Node.js está instalado e atualizado.
-
O gerenciador de pacotes Node (npm) está instalado e atualizado pelo menos para a versão 10.2.3.
-
O ambiente pode ser acessado pela porta TCP 5173 em um navegador da Web.
Para criar uma aplicação web do React
-
Faça login em seu ambiente de desenvolvedor e procure o diretório principal da aplicação.
cd~/path/to/project/folder/ -
Crie um serviço do React.
npm create vite@latest frontend-client -- --template react-ts -
Clone a pasta do projeto
cognito-developer-guide-react-examplea partir do repositório de exemplos de código da AWS no GitHub. cd~/some/other/pathgit clone https://github.com/awsdocs/aws-doc-sdk-examples.gitcp -r ./aws-doc-sdk-examples/javascriptv3/example_code/cognito-identity-provider/scenarios/cognito-developer-guide-react-example/frontend-client~/path/to/project/folder/ -
Procure o diretório
srcdo seu projeto.cd~/path/to/project/folder/frontend-client/src -
Edite
config.jsone substitua os valores a seguir:-
Substitua
YOUR_AWS_REGIONpor um código Região da AWS. Por exemplo:us-east-1. -
Substitua
YOUR_COGNITO_USER_POOL_IDpelo ID do grupo de usuários que você designou para teste. Por exemplo:us-east-1_EXAMPLE. O grupo de usuários deve estar na Região da AWS que você inseriu na etapa anterior. -
Substitua
YOUR_COGNITO_APP_CLIENT_IDpelo ID do cliente de aplicação que você designou para teste. Por exemplo:1example23456789. O cliente da aplicação deve estar no grupo de usuários da etapa anterior.
-
-
Se quiser acessar a aplicação de exemplo a partir de um IP diferente de
localhost, editepackage.jsone altere a linha"dev": "vite",para"dev": "vite --host 0.0.0.0",. -
Instale sua aplicação.
npm install -
Inicie a aplicação.
npm run dev -
Acesse a aplicação usando um navegador da Web em
http://localhost:5173ouhttp://[IP address]:5173. -
Cadastre um novo usuário com endereço de e-mail válido.
-
Recupere o código de confirmação da sua mensagem de e-mail. Insira o código de confirmação na aplicação.
-
Faça login com seu nome de usuário e senha.
Criar um ambiente de desenvolvedor do React com o Amazon Lightsail
Uma maneira rápida de começar a usar essa aplicação é criar um servidor virtual em nuvem com o Amazon Lightsail.
Com o Lightsail, você cria rapidamente uma pequena instância de servidor que vem pré-configurada com os pré-requisitos dessa aplicação de exemplo. Você pode usar SSH para sua instância com um cliente baseado em navegador e se conectar ao servidor web em um endereço IP público ou privado.
Para criar uma instância do Lightsail para essa aplicação de exemplo
-
Acesse o console do Lightsail
. Se solicitado, insira suas credenciais da AWS. -
Selecione Criar instância.
-
Em Selecionar uma plataforma, escolha Linux/Unix.
-
Em Selecionar esquema, selecione Node.js.
-
Em Identificar sua instância, dê um nome amigável ao seu ambiente de desenvolvimento.
-
Selecione Criar instância.
-
Depois de criar sua instância do Lightsail, selecione-a e, na guia Conectar, escolha Conectar usando SSH.
-
Uma sessão SSH é aberta em uma janela do navegador. Execute
node -venpm -vpara confirmar se a instância foi provisionada com Node.js e a versão mínima de npm 10.2.3. -
Vá para configuração da aplicação React.
Configurar uma aplicação Android de exemplo com o Flutter
Neste tutorial, você criará uma aplicação móvel no Android Studio para emular um dispositivo e testar o cadastro, a confirmação e o login do usuário. Esta aplicação de exemplo cria um cliente móvel básico de grupos de usuários do Amazon Cognito para Android no Flutter. Se você já tem experiência em desenvolvimento de aplicações móveis com o Flutter, baixe a aplicação de exemplo no GitHub
A captura de tela a seguir mostra a aplicação em execução em um dispositivo Android virtual.
Para configurar essa aplicação, o grupo de usuários deve atender aos seguintes requisitos:
-
Os usuários podem fazer login com o endereço de e-mail. Opções de login do grupo de usuários do Cognito: E-mail.
-
Os nomes de usuário não diferenciam maiúsculas de minúsculas. Requisitos de nome de usuário: a opção Tornar o nome de usuário sensível a maiúsculas e minúsculas não está selecionada.
-
A autenticação multifator (MFA) não é necessária. Aplicação da MFA: a MFA é opcional.
-
Seu grupo de usuários verifica os atributos para confirmação do perfil de usuário com uma mensagem de e-mail. Atributos a serem verificados: enviar mensagem de e-mail, verificar endereço de e-mail.
-
E-mail é o único atributo obrigatório. Atributos obrigatórios: e-mail.
-
Os usuários podem se cadastrar no seu grupo de usuários. Autorregistro: a opção Habilitar autorregistro está selecionada.
-
Seu cliente de aplicação inicial é público e permite o login com nome de usuário e senha. Tipo de aplicação: Cliente público, Fluxos de autenticação:
ALLOW_USER_PASSWORD_AUTH.
Cria uma aplicação
Para criar uma aplicação Android de exemplo
-
Instale o Android Studio
e as ferramentas de linha de comando . -
No Android Studio, instale o plug-in do Flutter
. -
Crie um projeto do Android Studio a partir do conteúdo do diretório
cognito_flutter_mobile_appnesta aplicação de exemplo. -
Edite
assets/config.jsone substitua<<YOUR USER POOL ID>>e<< YOUR CLIENT ID>>pelos IDs do grupo de usuários e cliente da aplicação.
-
-
Instale o Flutter
. -
Adicione o Flutter à sua variável PATH.
-
Aceite as licenças com o comando a seguir.
flutter doctor --android-licenses -
Verifique seu ambiente do Flutter e instale os componentes que faltam.
flutter doctor-
Se algum componente estiver faltando, execute
flutter doctor -vpara saber como corrigir o problema.
-
-
Vá para o diretório do seu novo projeto do Flutter e instale as dependências.
-
Executar
flutter pub add amazon_cognito_identity_dart_2.
-
-
Executar
flutter pub add flutter_secure_storage.
-
-
Crie um dispositivo virtual do Android.
-
Na interface do usuário do Android Studio, crie um dispositivo com o gerenciador de dispositivos
. -
Na CLI, execute
flutter emulators --create --name android-device.
-
-
Inicie seu dispositivo Android virtual.
-
Na interface do usuário do Android Studio, selecione o ícone
de início ao lado do seu dispositivo virtual. -
Na CLI, execute
flutter emulators --launch android-device.
-
-
Inicie a aplicação no dispositivo virtual.
-
Na interface do usuário do Android Studio, selecione o ícone
de implantação. -
Na CLI, execute
flutter run.
-
-
Navegue até seu dispositivo virtual em execução no Android Studio.
-
Cadastre um novo usuário com endereço de e-mail válido.
-
Recupere o código de confirmação da sua mensagem de e-mail. Insira o código de confirmação na aplicação.
-
Faça login com seu nome de usuário e senha.