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:

Depois de criar um grupo de usuários do Amazon Cognito, a próxima etapa é configurar um cliente de aplicativo. Um cliente de aplicativo são as configurações do grupo de usuários de um aplicativo. Esse aplicativo pode autenticar usuários com a interface de usuário hospedada, SDK solicitações aos grupos API de usuários ou ambos. Nesse caso, configuraremos um cliente de aplicativo para a interface do usuário hospedada e o servidor de autorização OAuth 2.0. A interface de usuário hospedada é uma coleção de páginas da Web que gerenciam fluxos comuns de autenticação de usuários, como inscrição, login, redefinição de senha e autenticação multifatorial.

Ao ativar a interface hospedada, você também ativa um servidor de autorização OAuth 2.0. O servidor de autorização manipula os fluxos de autenticação do OpenID Connect (OIDC) e OAuth 2.0. As tarefas incluem consultar contas de usuário, emitir tokens e integrar com provedores de identidade externos. A interface do usuário hospedada e o servidor de autorização funcionam melhor com aplicativos nos quais você deseja limitar seu nível de criação de interface personalizada e onde seu aplicativo funciona melhor com provedores de OIDC identidade.

A seguir estão alguns dos recursos da interface do usuário hospedada e do servidor de autorização:

Recursos exclusivos para clientes de aplicativos de interface de usuário hospedados
Recursos que são compartilhados entre a interface do usuário hospedada e clientes de aplicativos SDK baseados
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. Adicione um retorno de chamada URL para seu cliente de aplicativo. Você será direcionado para essa página após a autenticação da interface do usuário hospedada. Você não precisa adicionar uma saída permitida URL até conseguir implementar a saída em seu aplicativo.

    Para um aplicativo iOS ou Android, você pode usar um retorno de chamadaURL, comomyapp://.

  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) SAML IdPs, ou 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 OAuth2.0 tipos de subsídio. 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 do código de autorização, junto com o Proof Key for Code Exchange (PKCE), para aplicativos móveis.

    Selecione Concessão implícita para que os tokens JSON web do grupo de usuários (JWT) sejam devolvidos a você pelo 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 ID do cliente do aplicativo, escopo, concessão e retorno de chamada. URL

Você pode visualizar manualmente a página de login da UI 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 UI hospedada com o seguinte URL para a concessão de código implícito, em que 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 de identidade JSON web token (JWT) após o #idtoken= parâmetro na resposta.

Veja a seguir URL 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 dos grupos de usuários do Amazon Cognito são assinados usando um RS256 algoritmo. 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 do Amazon JWT Cognito no AWS GitHub site.

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