Integração da autenticação e autorização do Amazon Cognito com aplicações móveis e da web - 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á.

Integração da autenticação e autorização do Amazon Cognito com aplicações móveis e da web

A implementação do Amazon Cognito é uma combinação de ferramentas administrativas do Console de gerenciamento da AWS ou do AWS SDK e bibliotecas do SDK em aplicações. O console do Amazon Cognito é a interface visual para configuração e gerenciamento dos grupos de usuários e bancos de identidades do Amazon Cognito.

A integração de menor esforço que você pode criar com grupos de usuários do Amazon Cognito é com o login gerenciado. O login gerenciado é uma aplicação de login baseada na web pronta para uso para testes rápidos e implantação de grupos de usuários do Amazon Cognito. A autenticação do grupo de usuários com login gerenciado requer bibliotecas do OpenID Connect (OIDC) que direcionam os usuários para páginas de login hospedado. Nessa série de endpoints web interativos e de redirecionamento, o Amazon Cognito gerencia o fluxo de autenticação, incluindo login de terceiros, autenticação multifator (MFA) e a escolha de um fluxo de autenticação. Sua aplicação só precisa processar o resultado da autenticação retornado pelo Amazon Cognito na resposta.

Você também pode adicionar um SDK da AWS à sua aplicação, criar interfaces de autenticação personalizadas e invocar operações de API para autenticação e autorização de usuários. O AWS Amplify é um AWS service (Serviço da AWS) para criar aplicações full-stack, com autenticação do Amazon Cognito no backend.

Por exemplo, a aplicação pode invocar o login gerenciado para o login do usuário e, depois, chamar o endpoint do token pelo código da aplicação a fim de trocar o código de autorização do usuário por tokens. Depois, a aplicação deve interpretar e armazenar os tokens do usuário e apresentá-los no contexto apropriado para autenticação e autorização. O Amplify adiciona ferramentas de integração guiada com funções integradas para esses processos.

Você também pode criar recursos do Amazon Cognito inteiramente em código. Os bancos de identidades não têm as mesmas opções de autenticação gerenciada dos grupos de usuários. Para acessar as credenciais da AWS em suas aplicações, implemente operações de bancos de identidades em módulos do SDK importados. Para começar a usar seu próprio código de aplicação personalizado, acesse os exemplos de código do Amazon Cognito para SDKs da AWS. Para integração com o Amazon Cognito como um provedor de identidades do OpenID Connect, use Ferramentas para desenvolvedores do OpenID Connect.

Antes de usar a autenticação e a autorização do Amazon Cognito, escolha uma plataforma de aplicações e prepare seu código para se integrar ao serviço. Consulte as plataformas disponíveis para SDKS da AWS em Autenticação com AWS SDKs. A AWS CLI é um SDK da linha de comando do Amazon Cognito e outros Serviços da AWS e é um ponto de partida valioso para se familiarizar com as operações de API do Amazon Cognito e sua sintaxe.

nota

Alguns componentes do Amazon Cognito só podem ser configurados com a API. Por exemplo, só é possível definir um acionador do Lambda de remetente personalizado de e-mail ou SMS do grupo de usuários com uma solicitação que atualiza a propriedade LambdaConfig da classe UserPool em uma solicitação de API CreateUserPool ou UpdateUserPool.

A API de grupos de usuários do Amazon Cognito compartilha seu namespace com várias classes de operações de API. Uma classe configura grupos de usuários e seus processos, provedores de identidades e usuários. Outra inclui operações não autenticadas para que os usuários em um cliente público façam login, saiam e gerenciem seus perfis. A classe final de operações de API executa operações de usuário que você autoriza com suas próprias credenciais da AWS em um cliente confidencial do lado do servidor. Você deve conhecer a arquitetura da aplicação pretendida antes de começar a implementar o código dela. Para obter mais informações, consulte Noções básicas sobre a autenticação de API, OIDC e páginas de login gerenciado.

Autenticação com AWS Amplify

O AWS Amplify é uma solução completa para criar aplicações web e móveis. Com o Amplify, você pode se conectar aos recursos existentes com as bibliotecas do Amplify ou criar e configurar recursos com a interface da linha de comando (CLI) do Amplify. O Amplify também tem componentes de interface de usuário conectados, como Autenticador para configuração e personalização da experiência de login e inscrição na aplicação.

Para usar os atributos de autenticação do Amplify na aplicação de front-end, consulte a documentação a seguir por plataforma.

As bibliotecas do Amplify são de código aberto e estão disponíveis no GitHub. Para saber mais sobre como o Amplify Auth implementa a autenticação do Amazon Cognito, acesse as seguintes bibliotecas:

Criar uma interface de usuário (UI) com o Amplify

O Login gerenciado do grupo de usuários pode atender às necessidades essenciais de um frontend de autenticação para aplicações web ou aplicativos móveis. Para personalizar a interface de usuário (IU) além dos parâmetros que o login gerenciado acomoda, crie uma aplicação personalizada. Amplify UI é uma coleção personalizável de componentes de front-end em vários idiomas.

Uma captura de tela de um exemplo de aplicação do Autenticador do Amplify.

Para começar a usar o componente de autenticação personalizado, acesse a documentação a seguir para o componente Autenticador.

Autenticação com AWS SDKs

Para usar um back-end seguro para criar seu próprio microsserviço de identidade que interage com o Amazon Cognito, conecte-se aos grupos de usuários do Amazon Cognito e à API de bancos de identidade do Amazon Cognito com um AWS SDK na linguagem de sua escolha.

Para obter detalhes sobre cada operação de API, consulte a Referência da API de grupos de usuários do Amazon Cognito e a Referência da API do Amazon Cognito. Esses documentos contêm seções Consulte também com recursos para usar uma variedade de SDKs em plataformas compatíveis.