Adicionar um cliente da aplicação e configurar a interface do usuário hospedada - Amazon Cognito

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Adicionar um cliente da aplicação e configurar a interface do usuário hospedada

Depois de criar um grupo de usuários, você pode criar um aplicativo para usar páginas da web integradas a fim de fazer login e cadastro de seus usuários.

Para criar um aplicativo no seu grupo de usuários
  1. Acesse o console do Amazon Cognito. Se solicitado, insira suas credenciais da AWS.

  2. Escolha User Pools (Grupos de usuários).

  3. Escolha um grupo de usuários existente na lista ou crie um grupo de usuários. Se criar um novo grupo de usuários, você será solicitado a configurar um cliente de aplicação e a interface do usuário hospedada durante o assistente.

  4. Escolha a guia App integration (Integração de aplicação) para o seu grupo de usuários.

  5. Ao lado de Domínio, escolha Ações e Criar domínio personalizado ou Criar domínio do Amazon Cognito. Se já tiver configurado um domínio de grupo de usuários, escolha Excluir domínio do Amazon Cognito ou Excluir domínio personalizado antes de criar o domínio personalizado.

  6. Insira um prefixo de domínio disponível para usar com um Domínio do Amazon Cognito. Para informações sobre como configurar um Domínio personalizado, consulte Uso do próprio domínio para a interface do usuário hospedada

  7. Selecione Create.

  8. Retorne para a guia App integration (Integração da aplicação) para o mesmo grupo de usuários e localize App clients (Clientes da aplicação). Escolha Create an app client (Criar um cliente da aplicação).

  9. Escolha um Application type (Tipo de aplicação). Algumas configurações recomendadas serão fornecidas com base na sua seleção. Uma aplicação que usa a interface do usuário hospedada é um Public client (Cliente público).

  10. Insira um App client name (Nome do cliente da aplicação).

  11. Para este exercício, escolha Don't generate client secret (Não gerar segredo do cliente). O segredo do cliente é usado por aplicações confidenciais que autenticam usuários de uma aplicação centralizada. Neste exercício, você apresentará uma página de acesso da interface do usuário hospedada a seus usuários e não exigirá um segredo do cliente.

  12. Selecione os Authentication flows (Fluxos de autenticação) que você permitirá com sua aplicação. Certifique-se de que USER_SRP_AUTH tenha sido selecionado.

  13. Personalize token expiration (validade do token), Advanced security configuration (Configuração avançada de segurança) e Attribute read and write permissions (Permissões de leitura e gravação do atributo) conforme necessário. Para mais informações, consulte Configuring App Client Settings (Definir configurações do cliente da aplicação).

  14. Add a callback URL (Adicionar um URL de retorno de chamada) para seu cliente da aplicação. Você será direcionado para essa página após a autenticação da interface do usuário hospedada. Não é necessário adicionar um Allowed sign-out URL (URL de desconexão permitida) até que você consiga implementar a desconexão em sua aplicação.

    Para um aplicativo de iOS ou Android, é possível usar um URL de retorno de chamada como o myapp://.

  15. Selecione os Identity providers (Provedores de identidade) para o cliente da aplicação. No mínimo, habilite o Grupo de usuários do Amazon Cognito como provedor.

    nota

    Para fazer login com provedores de identidade externos (IdPs), como Facebook, Amazon, Google e Apple, bem como por meio do OpenID Connect (OIDC) ou SAML IdPs, primeiro configure-os conforme mostrado em Adicionar login ao grupo de usuários por meio de terceiros e, em seguida, retorne à página de configurações do cliente do aplicativo para ativá-los.

  16. Escolha OAuth 2.0 Grant Types (Tipos de concessão OAuth 2.0.). Selecione Authorization code grant (Concessão de código de autorização) para retornar um código de autorização que é trocado por tokens do grupo de usuários. Como os tokens nunca são expostos diretamente a um usuário final, é menos provável que eles fiquem comprometidos. No entanto, uma aplicação personalizada é necessário no backend para trocar o código de autorização por tokens do grupo de usuários. Por motivos de segurança, recomendamos que você use o fluxo de concessão de código de autorização, junto com o Proof Key for Code Exchange (PKCE), para aplicativos móveis.

    Selecione Implicit grant (Concessão implícita) para que os JSON Web Tokens (JWT) do grupo de usuários sejam retornados do Amazon Cognito. Você pode usar esse fluxo quando não houver backend disponível para trocar um código de autorização por tokens. Ele também é útil para depurar tokens.

    nota

    Você pode habilitar Authorization code grant (Concessão de código de autorização) e Implicit code grant (Concessão de código implícita) e, em seguida, usar cada concessão conforme necessário.

    Selecione Client credentials somente se o aplicativo precisa solicitar tokens de acesso para ele mesmo, e não em nome de um usuário.

  17. A menos que deseje excluir especificamente uma opção, selecione todos os OpenID Connect scopes (Escopos do OpenID Connect).

  18. Selecione quaisquer dos Custom scopes (Escopos personalizados) que você configurou. Normalmente os escopos personalizados são usados com clientes confidenciais.

  19. Selecione Create.

Para visualizar sua página de login

Em sua App client page (Página do cliente da aplicação), selecione View hosted UI (Exibir interface do usuário hospedada) para abrir uma nova guia do navegador para uma página de acesso automaticamente preenchida com parâmetros de ID do cliente da aplicação, escopo, concessão e URL de retorno de chamada.

Você pode exibir manualmente a página da Web de acesso da interface do usuário hospedada com o seguinte URL. Anote o response_type. Neste caso, response_type=code para a concessão de código de autorização.

https://your_domain/login?response_type=code&client_id=your_app_client_id&redirect_uri=your_callback_url

Você pode visualizar a página da web de login da interface do usuário hospedada com o URL a seguir para a concessão de código implícita onde response_type=token. Depois de um login bem-sucedido, o Amazon Cognito retorna tokens do grupo de usuários para a barra de endereço do seu navegador da Web.

https://your_domain/login?response_type=token&client_id=your_app_client_id&redirect_uri=your_callback_url

Você pode encontrar o token que identidade do JSON web token (JWT) logo depois do parâmetro #idtoken= na resposta.

O URL a seguir é um exemplo de resposta de uma solicitação de concessão implícita. Sua string de token de identidade será muito maior.

https://www.example.com/#id_token=123456789tokens123456789&expires_in=3600&token_type=Bearer

Os tokens de grupos de usuários do Amazon Cognito são assinados usando um algoritmo RS256. Você pode decodificar e verificar os tokens do grupo de usuários usandoAWS Lambda, consulte Decodificar e verificar os tokens JWT do Amazon Cognito no site. AWS GitHub

O domínio é exibido na página Domain name (Nome do domínio). O ID de cliente do aplicativo e o URL de retorno de chamada são exibidos na página General settings (Configurações gerais). Se as alterações feitas no console não aparecerem imediatamente, aguarde alguns minutos e atualize o navegador.

Próxima etapa

Adicionar um acesso social a um grupo de usuários (opcional)