Como importar usuários para grupos de usuários com base em um arquivo CSV
Quando você tem um repositório de identidade externo e tem tempo para preparar seu grupo de usuários para novos usuários locais, a importação em massa de usuários de um arquivo de valores separados por vírgula (CSV) pode ser uma opção simplificada e econômica para a migração para um grupo de usuários do Amazon Cognito. A importação de um arquivo CSV é um processo de baixar e preencher um arquivo de modelo e, em seguida, entregar o arquivo ao seu grupo de usuários em um trabalho de importação. Você pode usar uma importação de CSV para criar rapidamente usuários de teste. Você também pode preencher programaticamente o arquivo com solicitações da API de leitura para seu repositório de identidade externo e, em seguida, analisar seus detalhes e atributos em operações de gravação no arquivo.
O processo de importação define valores para todos os atributos de usuário, exceto password. Não há suporte para a importação de senha, pois as melhores práticas de segurança exigem que as senhas não estejam disponíveis como texto sem formatação, e não oferecemos suporte à importação de hashes. Isso significa que os usuários devem alterar suas senhas na primeira vez em que fizerem login. Seus usuários estão em estado RESET_REQUIRED quando são importados por esse método.
A maneira mais simples de importar usuários de um CSV é ativar o login sem senha no grupo de usuários. Com atributos de endereço de e-mail e número de telefone e a configuração correta do grupo de usuários, os usuários podem entrar com senhas de uso único (OTPs) enviadas por e-mail ou SMS imediatamente após a conclusão do trabalho de importação. Para obter mais informações, consulte Solicitação de redefinição de senha aos usuários importados.
Também é possível definir as senhas dos usuários com uma solicitação de API AdminSetUserPassword que define o parâmetro Permanent como true. A importação de CSV não contribui para a cobrança de usuários ativos mensais (MAUs) em seu grupo de usuários. No entanto, as operações de redefinição de senha geram MAUs. Para gerenciar os custos ao importar um grande número de usuários com senhas que podem não estar imediatamente ativos, configure a aplicação para solicitar aos usuários uma nova senha quando eles fizerem login e receberem o desafio RESET_REQUIRED.
nota
A data de criação de cada usuário é a hora em que o usuário foi importado para o grupo de usuários. A data de criação não é um dos atributos importados.
Etapas para criar um trabalho de importação de usuário
-
Crie uma função do Amazon CloudWatch Logs no console do AWS Identity and Access Management (IAM).
-
Crie o arquivo .csv de importação do usuário.
-
Crie e execute o trabalho de importação do usuário.
-
Carregue o arquivo.csv de importação do usuário.
-
Inicie e execute o trabalho de importação do usuário.
-
Use o CloudWatch para verificar o log de eventos.
-
Solicite que os usuários importados redefinam suas senhas.
Mais atributos
-
Arquitetura de referência de exportação de perfis de usuário do Cognito
para exportar contas de usuário entre grupos de usuários
Tópicos
Criar o perfil do IAM do CloudWatch Logs
Se você estiver usando a CLI ou a API do Amazon Cognito, precisará criar uma função do IAM do CloudWatch. O procedimento a seguir descreve como criar um perfil do IAM que o Amazon Cognito possa usar para gravar os resultados do trabalho de importação no CloudWatch Logs.
nota
Ao criar um trabalho de importação no console do Amazon Cognito, você pode criar o perfil do IAM ao mesmo tempo. Quando você seleciona Create a new IAM role (Criar um perfil do IAM), o Amazon Cognito aplica automaticamente a política de confiança e a política do IAM apropriadas ao perfil.
Como criar o perfil do IAM do CloudWatch Logs para importação do grupo de usuários (AWS CLI, API)
Faça login no Console de gerenciamento da AWS e abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
Criar um perfil do IAM para um AWS service (Serviço da AWS). Para obter instruções detalhadas, consulte Criar um perfil para um AWS service (Serviço da AWS) no Guia do usuário do AWS Identity and Access Management.
-
Ao selecionar um Use case (Caso de uso) para o Trusted entity type (Tipo de entidade confiável), escolha qualquer serviço. Atualmente, o Amazon Cognito não está listado nos casos de uso de serviço.
-
Na tela Add permissions (Adicionar permissões), escolha Create policy (Criar política) e insira a instrução de política a seguir. Substitua
REGIONpela Região da AWS do seu grupo de usuários, por exemplous-east-1. SubstituaACCOUNTpelo ID da sua Conta da AWS, por exemplo111122223333.
-
-
Como você não escolheu o Amazon Cognito como entidade confiável ao criar o perfil, agora é necessário editar manualmente a relação de confiança do perfil. No painel de navegação do console do IAM, selecione Roles (Perfis) e escolha o perfil criado.
-
Selecione a guia Trust relationships (Relações de confiança).
-
Selecione Edit trust policy (Editar política de confiança).
-
Cole a seguinte instrução de política em Edit trust policy (Editar política de confiança), substituindo qualquer texto existente:
-
Escolha Atualizar política.
-
Anote o Nome de região da Amazon (ARN) da função. Forneça o ARN ao criar o trabalho de importação.
Criar o arquivo CSV de importação do usuário
Antes de poder importar os usuários existentes para o grupo de usuários, é necessário criar um arquivo de valores separados por vírgula (CSV) que contenha os usuários que você deseja importar e os atributos deles. No grupo de usuários, é possível recuperar um arquivo de importação de usuários com cabeçalhos que refletem o esquema de atributos do grupo de usuários. Depois, você pode inserir informações do usuário que correspondam aos requisitos de formatação em Formatar o arquivo CSV.
Baixar o cabeçalho do arquivo CSV (console)
Use o procedimento a seguir para baixar o arquivo de cabeçalho CSV.
Como baixar o cabeçalho do arquivo CSV
-
Acesse o console do Amazon Cognito
. Podem ser solicitadas suas credenciais do AWS. -
Escolha User Pools (Grupos de usuários).
-
Escolha um grupo de usuários existente da lista.
-
Clique no menu Usuários.
-
Na seção Import users (Importar usuários), selecione Create an import job (Criar um trabalho de importação).
-
Em Upload CSV (Fazer upload do CSV, selecione o link template.csv e baixe o arquivo CSV.
Baixar o cabeçalho do arquivo CSV (AWS CLI)
Para obter uma lista dos cabeçalhos corretos, no menu Usuários, em Importar usuários, selecione Criar trabalho de importação. Na caixa de diálogo a seguir, selecione o link template.csv para baixar um arquivo de modelo com os atributos do grupo de usuários.
Você também pode executar o seguinte comando da CLI, em que USER_POOL_ID é o identificador do grupo de usuários para o qual você importará usuários:
aws cognito-idp get-csv-header --user-pool-id "USER_POOL_ID"
Exemplo de resposta:
{ "CSVHeader": [ "name", "given_name", "family_name", "middle_name", "nickname", "preferred_username", "profile", "picture", "website", "email", "email_verified", "gender", "birthdate", "zoneinfo", "locale", "phone_number", "phone_number_verified", "address", "updated_at", "cognito:mfa_enabled", "cognito:username" ], "UserPoolId": "USER_POOL_ID" }
Formatar o arquivo CSV
O arquivo de cabeçalho CSV de importação de usuários baixado se parece com a string a seguir. Ele também inclui os atributos personalizados que você adicionou ao grupo de usuários.
cognito:username,name,given_name,family_name,middle_name,nickname,preferred_username,profile,picture,website,email,email_verified,gender,birthdate,zoneinfo,locale,phone_number,phone_number_verified,address,updated_at,cognito:mfa_enabled
Edite o arquivo CSV para que ele inclua esse cabeçalho e os valores de atributo dos usuários e seja formatado de acordo com as seguintes regras:
nota
Para obter mais informações sobre valores de atributo, como o formato apropriado de números de telefone, consulte Trabalhar com atributos do usuário.
-
A primeira linha no arquivo é a linha de cabeçalho baixada que contém os nomes de atributo de usuário.
-
A ordem das colunas no arquivo CSV não importa.
-
Cada linha após a primeira linha contém os valores de atributo para um usuário.
-
Todas as colunas do cabeçalho devem estar presente, mas você não precisa fornecer valores em cada coluna.
-
Os seguintes atributos são necessários:
-
cognito:username
-
email_verified ou phone_number_verified
-
Pelo menos um dos atributos verificados automaticamente devem ser
truepara todos os usuários. Um atributo verificado automaticamente é um endereço de e-mail ou número de telefone para o qual o Amazon Cognito envia automaticamente um código quando um novo usuário se junta ao grupo de usuários. -
O grupo de usuários deve ter, pelo menos, um atributo verificado automaticamente, email_verified ou phone_number_verified. Se o grupo de usuários não tiver atributos verificados automaticamente, o trabalho de importação não será iniciado.
-
Se o grupo de usuários tiver apenas um atributo verificado automaticamente, esse atributo deverá ser verificado para todos os usuários. Por exemplo, se o grupo de usuários tiver apenas phone_number como atributo verificado automaticamente, o valor de phone_number_verified deverá ser
truepara todos os usuários.
nota
Para que os usuários redefinam suas senhas, eles deverão ter um e-mail ou número de telefone verificado. O Amazon Cognito envia uma mensagem contendo um código de redefinição de senha para o e-mail ou ao número de telefone especificado no arquivo CSV. Se a mensagem for enviada ao número de telefone, ela será enviada por mensagem de SMS. Para obter mais informações, consulte Como verificar informações de contato no cadastro.
-
-
email (se email_verified for
true) -
phone_number (se phone_number_verified for
true) -
Todos os atributos marcados como necessários quando você criou o grupo de usuários
-
-
Os valores de atributo que são strings não devem ser aspas.
-
Se um valor de atributo contiver uma vírgula, você deverá colocar uma barra invertida (\) antes da vírgula. Isso acontece porque os campos em um arquivo CSV são separados por vírgulas.
-
O conteúdo do arquivo CSV deve estar no formato UTF-8 sem a marca de ordem de byte.
-
O campo cognito:username é obrigatório e deve ser exclusivo no grupo de usuários. Ele pode ser qualquer string Unicode. No entanto, ele não pode conter espaços ou guias.
-
Se estiverem presentes, os valores de birthdate (data de nascimento) devem estar no formato
mm/dd/aaaa. Isso significa, por exemplo, que a data de nascimento 1°. de fevereiro de 1985 deve ser codificada como02/01/1985. -
O campo cognito:mfa_enabled deve corresponder aos requisitos de MFA do seu grupo de usuários. Se você tiver definido a autenticação multifator (MFA) para ser obrigatória no grupo de usuários, esse campo deverá ser
trueou estar em branco para todos os usuários. Se você tiver definido a MFA para ser desativada, esse campo deverá serfalseou ficar em branco para todos os usuários. Um valor em branco define o status habilitado para MFA dos usuários importados para o estado exigido pelo grupo de usuários. Você pode importar usuários em um grupo de usuários exigido pela MFA sem um fator de MFA válido, independentemente de ter definido um valorcognito:mfa_enabled. Os usuários nesse estado têm a MFA ativa, mas não podem fazer login até configurarem um atributo de e-mail, um atributo de número de telefone ou uma TOTP, e essa configuração é um fator de MFA válido em seu grupo de usuários. -
O comprimento máximo da linha é de 16.000 caracteres.
-
O tamanho máximo do arquivo CSV é 100 MB.
-
O número máximo de linhas (usuários) no arquivo é de 500.000. Esse máximo não inclui a linha de cabeçalho.
-
Espera-se que o valor do campo updated_at esteja no formato de época em segundos, por exemplo:
1471453471. -
Qualquer espaço em branco à esquerda ou à direita em um valor de atributo será aparado.
A lista a seguir é um exemplo de arquivo de importação CSV para um grupo de usuários sem atributos personalizados. Seu esquema do grupo de usuários pode ser diferente deste exemplo. Nesse caso, você deve fornecer valores de teste no modelo CSV baixado do seu grupo de usuários.
cognito:username,name,given_name,family_name,middle_name,nickname,preferred_username,profile,picture,website,email,email_verified,gender,birthdate,zoneinfo,locale,phone_number,phone_number_verified,address,updated_at,cognito:mfa_enabled John,,John,Doe,,,,,,,johndoe@example.com,TRUE,,02/01/1985,,,+12345550100,TRUE,123 Any Street,,FALSE Jane,,Jane,Roe,,,,,,,janeroe@example.com,TRUE,,01/01/1985,,,+12345550199,TRUE,100 Main Street,,FALSE
Como criar e executar o trabalho de importação do grupo de usuários do Amazon Cognito
Esta seção descreve como criar e executar o trabalho de importação do grupo de usuários usando o console do Amazon Cognito e a AWS Command Line Interface (AWS CLI).
Importar usuários de um arquivo CSV (console)
O procedimento a seguir descreve como importar os usuários do arquivo CSV.
Como importar usuários do arquivo CSV (console)
-
Acesse o console do Amazon Cognito
. Podem ser solicitadas suas credenciais do AWS. -
Escolha User Pools (Grupos de usuários).
-
Escolha um grupo de usuários existente da lista.
-
Clique no menu Usuários.
-
Na seção Import users (Importar usuários), selecione Create an import job (Criar um trabalho de importação).
-
Na página Create import job (Criar um trabalho de importação), insira um Job name (Nome do trabalho).
-
Escolha entre Create a new IAM role (Criar um perfil do IAM) ou Use an existing IAM role (Usar um perfil do IAM existente).
-
Se você optou por Create a new IAM role (Criar um perfil do IAM), insira um nome para o novo perfil. O Amazon Cognito criará automaticamente uma função com as permissões e a relação de confiança corretas. A entidade principal do IAM que cria o trabalho de importação deve ter permissões para criar perfis do IAM.
-
Se você optou por Use an existing IAM role (Usar um perfil do IAM existente), escolha um perfil na lista em IAM role selection (Seleção de perfil do IAM). Esse perfil deve ter as permissões e a política de confiança descritas em Criar o perfil do IAM do CloudWatch Logs.
-
-
Em Fazer upload do CSV, selecione Escolher arquivo e anexe o arquivo CSV que você preparou.
-
Selecione Create job (Criar trabalho) para enviar seu trabalho, mas iniciá-lo mais tarde. Selecione Create and start job (Criar e iniciar trabalho) para enviar seu trabalho e iniciá-lo imediatamente.
-
Se você criou o trabalho, mas não o iniciou, poderá iniciá-lo mais tarde. No menu Usuários, em Importar usuários, escolha o trabalho de importação e clique em Iniciar. Você também pode enviar uma solicitação da API StartUserImportJob de um AWS SDK.
-
Monitore o andamento do trabalho de importação de usuários no menu Usuários em Importar usuários. Se o trabalho não for bem-sucedido, você poderá selecionar o valor do Status. Para obter mais detalhes, selecione View the CloudWatch logs for more details (Visualizar os logs do CloudWatch para obter mais detalhes) e analisar os problemas no console do CloudWatch Logs.
Como importar usuários (AWS CLI)
Os comandos da CLI a seguir estão disponíveis para importar usuários para um grupo de usuários:
-
create-user-import-job -
get-csv-header -
describe-user-import-job -
list-user-import-jobs -
start-user-import-job -
stop-user-import-job
Para obter a lista de opções de linha de comando desses comandos, use a opção de linha de comando help. Por exemplo:
aws cognito-idp get-csv-header help
Como criar um trabalho de importação de usuário
Após criar o arquivo CSV, crie um trabalho de importação de usuário executando o seguinte comando da CLI, no qual JOB_NAME é o nome que você está escolhendo para o trabalho, USER_POOL_ID é o ID do grupo de usuários no qual os novos usuários serão adicionados e ROLE_ARN é o ARN do perfil que você recebeu em Criar o perfil do IAM do CloudWatch Logs:
aws cognito-idp create-user-import-job --job-name "JOB_NAME" --user-pool-id "USER_POOL_ID" --cloud-watch-logs-role-arn "ROLE_ARN"
O PRE_SIGNED_URL retornado na resposta é válido por 15 minutos. Após esse tempo, ele expirará e você deverá criar um novo trabalho de importação de usuário para obter um novo URL.
exemplo Resposta:
{ "UserImportJob": { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl": "PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }
Valores de status de um trabalho de importação de usuário
Nas respostas aos comandos de importação de usuário, você verá um dos seguintes valores de Status:
-
Created: o trabalho foi criado, mas não foi iniciado. -
Pending: um estado de transição. Você iniciou o trabalho, mas não começou a importação de usuários ainda. -
InProgress: o trabalho foi iniciado e os usuários estão sendo importados. -
Stopping: você interrompeu o trabalho, mas o trabalho ainda não parou de importar usuários. -
Stopped: você interrompeu o trabalho e o trabalho interrompeu a importação de usuários. -
Succeeded: o trabalho foi concluído com êxito. -
Failed: o trabalho foi interrompido devido a um erro. -
Expired: você criou um trabalho, mas não iniciou o trabalho no intervalo de 24 a 48 horas. Todos os dados associados ao trabalho foram excluídos e o trabalho não pode ser iniciado.
Fazer upload do arquivo CSV
Use o comando curl a seguir para fazer upload do arquivo CSV que contém os dados do usuário no URL pré-assinado que você obteve da resposta do comando create-user-import-job.
curl -v -T "PATH_TO_CSV_FILE" -H "x-amz-server-side-encryption:aws:kms" "PRE_SIGNED_URL"
Na saída deste comando, procure a frase "We are completely uploaded and
fine". Essa frase indica que o upload do arquivo foi realizado com êxito. Os grupos de usuários não mantêm as informações nos arquivos de importação depois que você executa os trabalhos de importação. Depois que eles forem concluídos ou expirarem, o Amazon Cognito excluirá seu arquivo CSV carregado.
Como descrever um trabalho de importação de usuário
Para obter uma descrição do trabalho de importação de usuário, use o comando a seguir, em que USER_POOL_ID é o ID do grupo de usuários e JOB_ID é o job ID retornado quando você criou o trabalho de importação de usuário.
aws cognito-idp describe-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
exemplo Exemplo de resposta:
{ "UserImportJob": { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl": "PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }
Na saída de exemplo anterior, o PRE_SIGNED_URL é o URL no qual você fez upload do arquivo CSV. O ROLE_ARN é o ARN de função do CloudWatch Logs que você recebeu quando criou a função.
Como listar os trabalhos de importação de usuário
Para listar os trabalhos de importação de usuário, use o comando a seguir:
aws cognito-idp list-user-import-jobs --user-pool-id "USER_POOL_ID" --max-results 2
exemplo Exemplo de resposta:
{ "UserImportJobs": [ { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 }, { "CompletionDate": 1470954227.701, "StartDate": 1470954226.086, "Status": "Failed", "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "CompletionMessage": "Too many users have failed or been skipped during the import.", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 5, "CreationDate": 1470953929.313 } ], "PaginationToken": "PAGINATION_TOKEN" }
Os trabalhos são listados em ordem cronológica, do último criado ao primeiro. A string PAGINATION_TOKEN após o segundo trabalho indica que há outros resultados para esse comando de listagem. Para listar os resultados adicionais, use a opção --pagination-token opção da seguinte forma:
aws cognito-idp list-user-import-jobs --user-pool-id "USER_POOL_ID" --max-results 10 --pagination-token "PAGINATION_TOKEN"
Como iniciar um trabalho de importação de usuário
Para iniciar um trabalho de importação de usuário, use o seguinte comando:
aws cognito-idp start-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
Somente um trabalho de importação pode ser ativado por vez por conta.
exemplo Exemplo de resposta:
{ "UserImportJob": { "Status": "Pending", "StartDate": 1470957851.483, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }
Como interromper um trabalho de importação de usuário
Para interromper um trabalho de importação de usuário em andamento, use o comando a seguir. Após interromper o trabalho, ele não poderá ser reiniciado.
aws cognito-idp stop-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
exemplo Exemplo de resposta:
{ "UserImportJob": { "CompletionDate": 1470958050.571, "StartDate": 1470958047.797, "Status": "Stopped", "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "CompletionMessage": "The Import Job was stopped by the developer.", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957972.387 } }
Como visualizar os resultados de importação de grupo de usuários no console do CloudWatch
Você pode visualizar os resultados do trabalho de importação no console do Amazon CloudWatch.
Como visualizar os resultados
As etapas a seguir descrevem como exibir os resultados de importação de grupo de usuários.
Para exibir os resultados da importação de grupos de usuários
Faça login no Console de gerenciamento da AWS e abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/
. -
Escolha Logs.
-
Escolha o grupo de logs dos trabalhos de importação de grupo de usuários. O nome do grupo de logs está no formato
/aws/cognito/userpools/.USER_POOL_ID/USER_POOL_NAME -
Escolha o log do trabalho de importação de usuário que você acabou de executar. O nome do log está no formato
JOB_ID/JOB_NAME. Os resultados do registro referem-se aos usuários por número de linha. Nenhum dado de usuário é gravado no log. Para cada usuário, uma linha semelhante à seguinte é exibida:-
[SUCCEEDED] Line Number 5956 - The import succeeded. -
[SKIPPED] Line Number 5956 - The user already exists. -
[FAILED] Line Number 5956 - The User Record does not set any of the auto verified attributes to true. (Example: email_verified to true).
-
Como interpretar os resultados
O status dos usuários importados com êxito é definido como "PasswordReset".
Nos casos a seguir, o usuário não será importado, mas o trabalho de importação continuará:
-
Nenhum atributo verificado automaticamente é definido como
true. -
Os dados do usuário não correspondem ao esquema.
-
Não é possível importar o usuário devido a um erro interno.
Nos casos a seguir, o trabalho de importação apresentará falha:
-
A função do Amazon CloudWatch Logs não pode ser presumida, não tem a política de acesso correta ou foi excluída.
-
O grupo de usuários foi excluído.
-
O Amazon Cognito não pode analisar o arquivo .csv.
Solicitação de redefinição de senha aos usuários importados
Se o grupo de usuários oferecer somente login baseado em senha, os usuários deverão redefinir suas senhas após a importação. Na primeira vez que fizerem login, poderão inserir qualquer senha. O Amazon Cognito solicita que eles insiram uma nova senha na resposta da API à solicitação de login da sua aplicação.
Se o grupo de usuários tiver fatores de autenticação sem senha, o Amazon Cognito os usará como padrão para usuários importados. Eles não serão solicitados a criar uma nova senha e poderão fazer login imediatamente com uma OTP enviada por e-mail ou SMS, sem senha. Você também poderá solicitar que os usuários definam uma senha para poderem usar outros métodos de login, como nome de usuário e senha ou chave de acesso. As condições a seguir se aplicam ao login sem senha após a importação do usuário.
-
Você deve importar usuários com um atributo que corresponda a um fator de login sem senha disponível. Se os usuários puderem fazer login com um endereço de e-mail, você deverá importar um atributo
email. Se puderem fazer login com um número de telefone, você deverá importar um atributophone_number. Se puderem fazer login com ambos, importe um valor para qualquer um dos atributos. -
Normalmente, os usuários são importados em um estado
RESET_REQUIREDem que precisam redefinir a senha. Se eles forem importados com a capacidade de fazer login com um fator sem senha, o Amazon Cognito definirá seu estado comoCONFIRMED.
Para obter mais informações sobre a autenticação sem senha, incluindo como configurá-la e como criar o fluxo de autenticação em sua aplicação, consulte Autenticação com grupos de usuários do Amazon Cognito.
O procedimento a seguir descreve a experiência do usuário em um mecanismo de login personalizado com usuários locais em um RESET_REQUIRED após a importação de um arquivo CSV. Se seus usuários fizerem login com login gerenciado, instrua-os a selecionar a opção Esqueceu a senha?, forneça o código de seu e-mail ou mensagem de texto e defina uma senha.
Solicitação de redefinição de senha aos usuários importados
-
Na aplicação, tente fazer login silenciosamente para o usuário atual com
InitiateAuthusando uma senha aleatória. -
O Amazon Cognito retorna uma
NotAuthorizedExceptionquandoPreventUserExistenceErrorsestá habilitado. Caso contrário, retornaráPasswordResetRequiredException. -
A aplicação faz uma solicitação da API
ForgotPassworde redefine a senha do usuário.-
A aplicação envia o nome de usuário em uma solicitação de API
ForgotPassword. -
O Amazon Cognito envia um código para o e-mail ou telefone verificado. O destino depende dos valores que você forneceu para
email_verifiedephone_number_verifiedno arquivo CSV. A resposta à solicitaçãoForgotPasswordindica o destino do código.nota
O grupo de usuários deve estar configurado para verificar e-mails ou números de telefone. Para obter mais informações, consulte Como cadastrar e confirmar contas de usuários.
-
A aplicação exibe uma mensagem para o usuário verificar o local para onde o código foi enviado e solicita que o usuário insira o código e uma nova senha.
-
O usuário informa o código e a nova senha no aplicativo.
-
A aplicação envia o código e a nova senha em uma solicitação da API
ConfirmForgotPassword. -
A aplicação redireciona o usuário para fazer login.
-