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á.
Gerencie métodos de autenticação em AWS SDKs
Os usuários dos grupos de usuários do Amazon Cognito podem fazer login com uma variedade de opções ou fatores de login inicial. Por alguns fatores, os usuários podem fazer o acompanhamento com a autenticação multifator (MFA). Esses primeiros fatores incluem nome de usuário e senha, senha de uso único, chave de acesso e autenticação personalizada. Para obter mais informações, consulte Fluxos de autenticação. Quando seu aplicativo tem componentes de interface de usuário integrados e importa um módulo AWS SDK, você deve criar a lógica do aplicativo para autenticação. Você deve escolher um dos dois métodos principais e, a partir desse método, os mecanismos de autenticação que deseja implementar.
Você pode implementar a autenticação baseada no cliente em que seu aplicativo, ou cliente, declara o tipo de autenticação com antecedência. Sua outra opção é a autenticação baseada em escolhas, em que seu aplicativo coleta um nome de usuário e solicita os tipos de autenticação disponíveis para os usuários. Você pode implementar esses modelos juntos no mesmo aplicativo ou dividi-los entre clientes de aplicativos, de acordo com seus requisitos. Cada método tem recursos exclusivos, por exemplo, autenticação personalizada com base no cliente e autenticação sem senha com base em escolhas.
Em aplicativos personalizados que realizam autenticação com a implementação do AWS SDK da API de grupos de usuários, você deve estruturar suas solicitações de API de acordo com a configuração do grupo de usuários, a configuração do cliente do aplicativo e as preferências do lado do cliente. Uma InitiateAuth
sessão que começa com um AuthFlow
de USER_AUTH
começa com a autenticação baseada em opções. O Amazon Cognito responde à sua API com o desafio de um método de autenticação preferencial ou de uma lista de opções. Uma sessão que começa com AuthFlow
ou CUSTOM_AUTH
vai direto para a autenticação personalizada com acionadores Lambda.
Alguns métodos de autenticação são fixados em um dos dois tipos de fluxo, e alguns métodos estão disponíveis em ambos.
Autenticação baseada em opções
Seu aplicativo pode solicitar os seguintes métodos de autenticação na autenticação baseada em opções. Declare essas opções no PREFERRED_CHALLENGE
parâmetro de InitiateAuthou AdminInitiateAuth, ou no ChallengeName
parâmetro de RespondToAuthChallengeou AdminRespondToAuthChallenge.
Para revisar essas opções em seu contexto de API, consulte ChallengeName
em RespondToAuthChallenge.
O login baseado em opções gera um desafio em resposta à sua solicitação inicial. Esse desafio verifica se a opção solicitada está disponível ou fornece uma lista das opções disponíveis. Seu aplicativo pode exibir essas opções para os usuários, que então inserem as credenciais do método de login preferido e prosseguem com a autenticação nas respostas ao desafio.
Você tem as seguintes opções baseadas em escolhas em seu fluxo de autenticação. Todas as solicitações desse tipo exigem que seu aplicativo primeiro colete um nome de usuário ou o recupere de um cache.
-
Solicite opções
USERNAME
apenas comAuthParameters
ou. O Amazon Cognito retorna umSELECT_CHALLENGE
desafio. A partir daí, seu aplicativo pode solicitar que o usuário selecione um desafio e retorne essa resposta ao seu grupo de usuários. -
Solicite um desafio preferido com
AuthParameters
ofPREFERRED_CHALLENGE
e os parâmetros de seu desafio preferido, se houver. Por exemplo, se você solicitar umPREFERRED_CHALLENGE
dePASSWORD_SRP
, você também deverá incluirSRP_A
. Se seu usuário, grupo de usuários e cliente do aplicativo estiverem todos configurados para o desafio preferido, o Amazon Cognito responderá com a próxima etapa desse desafio, por exemplo,PASSWORD_VERIFIER
noPASSWORD_SRP
fluxo ou CodeDeliveryDetailsnosEMAIL_OTP
fluxos e.SMS_OTP
Se o desafio preferido não estiver disponível, o Amazon Cognito responderá comSELECT_CHALLENGE
uma lista dos desafios disponíveis. -
Primeiro, conecte os usuários e, em seguida, solicite suas opções de autenticação com base em suas escolhas. Uma GetUserAuthFactorssolicitação com o token de acesso de um usuário conectado retorna seus fatores de autenticação baseados em opções disponíveis e suas configurações de MFA. Com essa opção, um usuário pode primeiro entrar com nome de usuário e senha e depois ativar uma forma diferente de autenticação. Você também pode usar essa operação para verificar opções adicionais para um usuário que tenha feito login com um desafio preferido.
Para configurar seu cliente de aplicativo para autenticação baseada em opções, adicione ALLOW_USER_AUTH
aos fluxos de autenticação permitidos. Você também deve escolher os fatores baseados em opções que deseja permitir na configuração do grupo de usuários. O processo a seguir ilustra como escolher fatores de autenticação baseados em opções.
Autenticação baseada no cliente
A autenticação baseada no cliente oferece suporte aos seguintes fluxos de autenticação. Declare essas opções no AuthFlow
parâmetro de InitiateAuthou AdminInitiateAuth.
-
USER_PASSWORD_AUTH
eADMIN_USER_PASSWORD_AUTH
Faça login com senhas persistentes
Esse fluxo de autenticação é equivalente à autenticação baseada
PASSWORD
em escolhas. -
USER_SRP_AUTH
Faça login com senhas persistentes e carga segura
Esse fluxo de autenticação é equivalente à autenticação baseada
PASSWORD_SRP
em escolhas. -
REFRESH_TOKEN_AUTH
Esse fluxo de autenticação só está disponível na autenticação baseada no cliente.
-
CUSTOM_AUTH
Esse fluxo de autenticação só está disponível na autenticação baseada no cliente.
Com a autenticação baseada no cliente, o Amazon Cognito presume que você determinou como seu usuário deseja se autenticar antes de iniciar os fluxos de autenticação. A lógica de determinar o fator de login que um usuário deseja fornecer deve ser determinada com configurações padrão ou solicitações personalizadas e, em seguida, declarada na primeira solicitação ao seu grupo de usuários. A InitiateAuth
solicitação declara um login AuthFlow
que corresponde diretamente a uma das opções listadas, por exemplo. USER_SRP_AUTH
Com essa declaração, a solicitação também inclui os parâmetros para iniciar a autenticaçãoUSERNAME
, por exemploSECRET_HASH
, SRP_A
e. O Amazon Cognito pode acompanhar essa solicitação com desafios adicionais, como SRP ou login PASSWORD_VERIFIER
SOFTWARE_TOKEN_MFA
por senha com TOTP MFA.
Para configurar seu cliente de aplicativo para autenticação baseada no cliente, adicione quaisquer fluxos de autenticação que não sejam os fluxos ALLOW_USER_AUTH
de autenticação permitidos. Os exemplos sãoALLOW_USER_PASSWORD_AUTH
,ALLOW_CUSTOM_AUTH
,ALLOW_REFRESH_TOKEN_AUTH
. Para permitir fluxos de autenticação com base no cliente, nenhuma configuração adicional do grupo de usuários é necessária.