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á.
Ao criar seus fluxos de autenticação para seu grupo de usuários do Amazon Cognito, você pode querer estender seu modelo de autenticação além dos fluxos integrados. Um caso de uso comum dos acionadores de desafio personalizados é implementar verificações de segurança adicionais além do nome de usuário, senha e autenticação multifator (MFA). Desafio personalizado é qualquer pergunta e resposta que você possa gerar em uma linguagem de programação compatível com Lambda. Por exemplo, você pode exigir que os usuários resolvam um CAPTCHA ou respondam a uma pergunta de segurança antes de poderem se autenticar. Outra necessidade potencial é a integração com fatores ou dispositivos de autenticação especializados. Ou talvez você já tenha desenvolvido um software que autentica usuários com uma chave de segurança de hardware ou um dispositivo biométrico. A definição de sucesso na autenticação para um desafio personalizado é qualquer resposta que sua função do Lambda aceite como correta: uma string fixa, por exemplo, ou uma resposta satisfatória de uma API externa.
Você pode iniciar a autenticação com seu desafio personalizado e controlar totalmente o processo de autenticação, ou pode realizar a autenticação por nome de usuário e senha antes que sua aplicação receba seu desafio personalizado.
O acionador do Lambda do desafio de autenticação personalizada:
- Define
-
Inicia uma sequência de desafios. Determina se você deseja iniciar um novo desafio, marcar a autenticação como concluída ou interromper a tentativa de autenticação.
- Cria
-
Emite a pergunta para a aplicação para o usuário responder. Essa função pode apresentar uma pergunta de segurança ou um link para um CAPTCHA que sua aplicação deve exibir para o usuário.
- Verifica
-
Conhece a resposta esperada e a compara com a resposta que sua aplicação fornece na resposta ao desafio. A função pode chamar a API do seu serviço CAPTCHA para recuperar os resultados esperados da tentativa de solução do usuário.
Essas três funções do Lambda se agrupam para apresentar um mecanismo de autenticação que está completamente sob seu controle e sob seu próprio padrão. Como a autenticação personalizada requer lógica de aplicativo no seu cliente e nas funções do Lambda, você não pode processar a autenticação personalizada no login gerenciado. Esse sistema de autenticação exige um esforço adicional do desenvolvedor. Seu aplicativo deve realizar o fluxo de autenticação com a API de grupos de usuários e lidar com o desafio resultante com uma interface de login personalizada que coloque a questão no centro do desafio de autenticação personalizada.

Para mais informações sobre como implementar uma autenticação personalizada, consulte Fluxo de autenticação personalizado e desafios.
Autenticação entre as operações da API InitiateAuthou AdminInitiateAuth, e RespondToAuthChallengeou AdminRespondToAuthChallenge. Nesse fluxo, um usuário faz a autenticação respondendo desafios sucessivos até que ela falhe ou ele receba os tokens. Uma resposta ao desafio pode ser um novo desafio. Nesse caso, sua aplicação responde quantas vezes forem necessárias aos novos desafios. A autenticação bem-sucedida acontece quando a função define auth analisa os resultados até o momento, determina que todos os desafios foram respondidos e retorna IssueTokens
.