Como soluciono erros de MFA no meu grupo de usuários do Amazon Cognito?
Tenho erros de autenticação multifator (MFA) que preciso resolver no meu grupo de usuários do Amazon Cognito.
Breve descrição
Ao configurar a MFA para seu grupo de usuários do Amazon Cognito, você pode encontrar vários tipos de erros. Se você configurar mensagens SMS (Short Message Service) para MFA, revise as seguintes seções: Antes de configurar o SMS para erros de MFA e de SMS MFA. Se você configurar senhas de uso único com marcação temporal (TOTP) para MFA, revise as seções a seguir: Antes de configurar a TOTP para erros de MFA e de TOTP MFA.
Resolução
Antes de configurar o SMS para MFA
Antes de configurar o SMS como um fator de MFA, você deve tomar medidas adicionais para enviar mensagens SMS pela primeira vez. Para obter mais informações, consulte Configurar mensagens SMS pela primeira vez em grupos de usuários do Amazon Cognito.
Quando você ativa a MFA e escolhe o SMS como o segundo fator, o Amazon Cognito pode enviar mensagens SMS para números de telefone não verificados. Depois que os usuários concluem a verificação da MFA por mensagem de texto SMS, o Amazon Cognito define o atributo phone_number_verified como true.
Erros de SMS MFA
InvalidSmsRoleAccessPolicyException
O perfil do AWS Identity and Access Management (IAM) para a configuração de SMS não tem permissão para usar o Amazon Simple Notification Service (Amazon SNS) para publicar.
Para resolver esse erro, certifique-se de anexar a permissão sns:Publish ao perfil do IAM. Além disso, certifique-se de que as políticas de controle de serviço (SCPs) não bloqueiem a ação SNS:Publish.
InvalidSmsRoleTrustRelationshipException
Esse erro ocorre quando o perfil do IAM não tem uma relação de confiança válida que permita ao Amazon Cognito assumir o perfil. Isso acontece quando o cognito-idp.amazonaws.com não é confiável ou o ID externo na política de perfil não corresponde ao que está na configuração de SMS do grupo de usuários.
Para resolver esse erro, verifique se você configurou corretamente a política de confiança para o perfil do IAM. Para obter mais informações, consulte Configurar mensagens SMS pela primeira vez em grupos de usuários do Amazon Cognito.
InvalidParameterException
Esse erro ocorre quando o Amazon Cognito encontra um parâmetro que não é válido.
Para resolver esse erro, certifique-se de que todos os valores necessários sejam passados para o parâmetro SmsMfaConfiguration da API SetUserPoolMfaConfig ao configurar o SMS para MFA.
Antes de configurar a TOTP para MFA
Ao configurar o token de software TOTP MFA em seu grupo de usuários do Amazon Cognito, adicione a MFA ao seu grupo de usuários antes de configurar o token TOTP.
A menos que um usuário já esteja autenticado, você não pode associar tokens TOTP a um usuário até que ele tente entrar na sua aplicação.
A MFA não oferece suporte a usuários federados em um grupo de usuários.
Erros de TOTP MFA
NotAuthorizedException: O token de acesso não tem escopos obrigatórios
Esse erro ocorre quando o token de acesso não inclui o escopo aws.cognito.signin.user.admin necessário. O escopo aws.cognito.signin.user.admin é necessário ao chamar a API AssociateSoftwareToken. Quando um usuário faz login com a API InitiateAuth, o escopo está automaticamente presente no token de acesso. No entanto, quando um usuário usa uma interface de usuário hospedada para fazer login, verifique se o escopo aws.cognito.signin.user.admin está presente no token de acesso.
NotAuthorizedException: Sessão inválida para o usuário, a sessão só pode ser usada uma vez
Esse erro ocorre quando um usuário usa a mesma sessão mais de uma vez. Se um usuário receber esse erro no meio de um fluxo, o aplicativo deverá reiniciá-lo desde o início. Se o usuário usar uma string de sessão ao chamar uma API, ele não poderá usar a sessão novamente.
NotAuthorizedException: Sessão inválida para o usuário, a sessão expirou
Esse erro ocorre quando o tempo de validade da sessão expira. O tempo de validade da sessão é de 3 minutos por padrão. Para resolver esse erro, altere a configuração da duração da sessão do fluxo de autenticação do cliente da aplicação para aumentar o tempo de validade da sessão para 15 minutos.
CodeMismatchException: Código ou estado de autenticação inválido para o usuário
Esse erro ocorre quando o código TOTP do usuário não é válido ou o estado do usuário não é compatível com a chamada da API. Por exemplo, se um usuário chamar a API RespondToAuthChallenge com um desafio chamado MFA_SETUP, mas você não configurou o TOTP MFA, ocorre o erro CodeMismatchException. Para resolver esse erro, verifique se as chamadas de API ocorrem na sequência correta ao configurar o MFA.
Esse erro também ocorre quando o código TOTP do usuário é muito antigo para o Amazon Cognito aceitar. Para resolver esse erro, verifique se os dispositivos do usuário estão sincronizados com a hora real.
InvalidParameterException: O usuário não tem a configuração de entrega definida para ativar o SOFTWARE_TOKEN_MFA
Esse erro ocorre quando você não configurou o TOTP MFA e chama APIs para tentar impor o TOTP MFA. Para resolver esse erro, antes de aplicar o TOTP para usuários que usam a API SetUserMFAPreference ou a API AdminSetUserMFAPreference, configure o TOTP MFA para os usuários.
NotAuthorizedException: Sessão inválida para o usuário
Esse erro ocorre quando um usuário chama uma API e fornece uma sequência de sessão que não é a esperada. Esse erro também ocorre quando os usuários não estão fazendo chamadas de API na sequência correta. Para resolver esse erro, configure as chamadas de API na ordem apropriada. Por exemplo, para receber a string da sessão na resposta, o usuário chama primeiro a API InitiateAuth. Para evitar um erro, verifique se a próxima chamada de API usa a string de sessão retornada em seu parâmetro de solicitação.
EnableSoftwareTokenMFAException: Incompatibilidade de código
Esse erro ocorre quando um usuário não fornece o código TOTP que o Amazon Cognito espera durante a configuração do TOTP MFA. Para resolver esse erro, encontre o código secreto que o Amazon Cognito fornece na API AssociateSoftwareToken e salve-o na aplicação autenticadora. O usuário também deve fornecer um código TOTP atualizado da aplicação autenticadora.
SoftwareTokenMFANotFoundException: O software Token MFA não foi habilitado pelo userPool
Esse erro ocorre quando você não ativa o TOTP MFA para seu grupo de usuários. Para resolver esse erro, configure o TOTP MFA antes de tentar aplicá-lo no Amazon Cognito.
Informações relacionadas
Adicionar a MFA a um grupo de usuários
Configurar a MFA para um usuário na API nativa do Amazon Cognito
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 6 meses