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á.
Com essa abordagem, você pode migrar perfeitamente os usuários do diretório existente para grupos de usuários quando um usuário fizer login pela primeira vez com sua aplicação ou solicitar uma redefinição de senha. Adicione uma função Migrar o acionador do Lambda do usuário ao grupo de usuários para que ele receba metadados sobre os usuários que tentam fazer login e retorne informações de perfil de usuário de uma fonte de identidade externa. Para obter detalhes e um código de exemplo para esse acionador do Lambda, bem como parâmetros de solicitação e resposta, consulte Parâmetros do acionador do Lambda de migrar usuário.
Antes de iniciar a migração de usuários, crie uma função Lambda de migração de usuários em sua Conta da AWS e, em seu grupo de usuários, configure a função do Lambda como acionador de migração de usuários. Adicione uma política de autorização à sua função do Lambda que permita que somente a entidade principal da conta de serviço do Amazon Cognito, cognito-idp.amazonaws.com
, invoque a função do Lambda, e apenas no contexto de seu próprio grupo de usuários. Para obter mais informações, consulte Uso de políticas baseadas em recursos para o AWS Lambda (políticas de função do Lambda).
Processo de login
-
O usuário abre seu aplicativo e faz login com a API de grupos de usuários do Amazon Cognito ou por meio de login gerenciado. Para obter mais informações sobre como facilitar o login com o Amazon APIs Cognito, consulte. Integração da autenticação e autorização do Amazon Cognito com aplicações móveis e da web
-
Sua aplicação envia o nome de usuário e a senha ao Amazon Cognito. Se seu aplicativo tiver uma interface de usuário de login personalizada que você criou com um AWS SDK, seu aplicativo deverá usar InitiateAuthou AdminInitiateAuthcom o
USER_PASSWORD_AUTH
fluxo ou.ADMIN_USER_PASSWORD_AUTH
Quando a aplicação usa um desses fluxos, o SDK envia a senha ao servidor.nota
Antes de adicionar um acionador de migração de usuários, ative o fluxo
USER_PASSWORD_AUTH
ouADMIN_USER_PASSWORD_AUTH
nas configurações do cliente de aplicação. Você deve usar esses fluxos em vez do fluxoUSER_SRP_AUTH
padrão. O Amazon Cognito deve enviar uma senha à sua função do Lambda para que ele possa verificar a autenticação do usuário no outro diretório. Uma SRP obscurece a senha do usuário de sua função do Lambda. -
O Amazon Cognito verifica se o nome de usuário enviado corresponde a um nome de usuário ou alias no grupo de usuários. Você pode definir o nome de usuário preferido, o endereço de e-mail ou o número de telefone do usuário como um alias no grupo de usuários. Se o usuário não existir, o Amazon Cognito enviará parâmetros, incluindo o nome de usuário e a senha, à função Migrar o acionador do Lambda do usuário.
-
Sua função Migrar o acionador do Lambda do usuário verifica ou autentica o usuário com seu diretório de usuários existente ou com o banco de dados de usuários. A função retorna atributos do usuário que o Amazon Cognito armazena no perfil do usuário no grupo de usuários. Você pode retornar um parâmetro
username
somente se o nome de usuário enviado corresponder a um atributo de alias. Se você quiser que os usuários continuem usando a senha que eles já têm, sua função definirá o atributofinalUserStatus
comoCONFIRMED
na resposta do Lambda. Sua aplicação deve retornar todos os parâmetros"response"
mostrados em Parâmetros do acionador do Lambda de migrar usuário.Importante
Não registre todo o objeto de evento de solicitação em seu código Lambda de migração de usuários. Esse objeto de evento de solicitação inclui a senha do usuário. Se você não limpar os registros, as senhas aparecerão nos Registros. CloudWatch
-
O Amazon Cognito cria o perfil de usuário no grupo de usuários e retorna tokens para o aplicativo cliente.
-
Sua aplicação executa a entrada de token, aceita a autenticação do usuário e prossegue para o conteúdo solicitado.
Depois de migrar seus usuários, use USER_SRP_AUTH
para fazer login. O protocolo Secure Remote Password (SRP) não envia a senha pela rede e oferece benefícios de segurança em relação ao fluxo USER_PASSWORD_AUTH
usado durante a migração.
Em caso de erros durante a migração, incluindo problemas com o dispositivo cliente ou a rede, a aplicação receberá respostas de erro da API de grupos de usuários do Amazon Cognito. Quando isso acontecer, o Amazon Cognito poderá ou não criar a conta de usuário em seu grupo de usuários. Em seguida, o usuário deverá tentar entrar novamente. Se o login falhar repetidamente, tente redefinir a senha do usuário com o fluxo de esquecimento de senha em sua aplicação.
O fluxo de esquecimento de senha também chama sua função Migrar o acionador do Lambda do usuário com uma fonte de eventos UserMigration_ForgotPassword
. Como o usuário não envia uma senha quando solicita uma redefinição de senha, o Amazon Cognito não inclui uma senha no evento que ele envia à sua função do Lambda. Sua função só pode pesquisar o usuário em seu diretório de usuários existente e retornar atributos para adicionar ao perfil do usuário em seu grupo de usuários. Depois que a função conclui a invocação e retorna a resposta ao Amazon Cognito, o grupo de usuários envia um código de redefinição de senha por e-mail ou SMS. Em seu aplicativo, solicite ao usuário o código de confirmação e uma nova senha e envie essas informações para o Amazon Cognito em uma solicitação de ConfirmForgotPasswordAPI. Você também pode usar as páginas integradas para o fluxo de esquecimento da senha no login gerenciado.