Adicionar um cliente de aplicativo com a interface 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 de aplicativo com a interface hospedada

Depois de criar um grupo de usuários, você pode criar um cliente de aplicativo para um aplicativo que exiba as páginas da Web integradas da interface do usuário hospedada. Na interface de usuário hospedada, os usuários podem:

  • Inscreva-se em um perfil de usuário.

  • Faça login com um provedor de identidade terceirizado.

  • Faça login com ou sem autenticação multifator.

  • Redefina sua senha.

Para criar um cliente de aplicativo para interface de usuário hospedada, faça login
  1. Acesse o console do Amazon Cognito. Se solicitado, insira suas AWS credenciais.

  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. Escolha Criar.

  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. Escolha os fluxos de autenticação que você permitirá com seu aplicativo. 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. Você não precisa adicionar uma URL de saída permitida até conseguir implementar a saída em seu aplicativo.

    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. Em seguida, retorne à página de configurações do cliente do aplicativo para ativá-las.

  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 qualquer escopo personalizado que você tenha configurado. Normalmente os escopos personalizados são usados com clientes confidenciais.

  19. Escolha Criar.

Para visualizar sua página de login

Na página do cliente do aplicativo, selecione Exibir interface hospedada para abrir uma nova guia do navegador em uma página de login pré-preenchida com os parâmetros de ID do cliente do aplicativo, 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 usando AWS Lambda. Para obter mais informações, 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.