Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

502
Visualizações
No capturado (en promesa) TypeError: la devolución de llamada no está definida amazon-cognito-identity-js user.completeNewPasswordChallenge

todos. ¿Alguien puede ayudarme a entender por qué recibo un TypeError no capturado (en promesa): la devolución de llamada no está definida en el siguiente código? No llega a las cláusulas de éxito o fracaso.

 const onSubmitPasscode = (event) => { event.preventDefault(); if (passwordFirst !== passwordSecond) { alert('the two inputs provided are not the same'); } else { const user = new CognitoUser({ Username: email, Pool: UserPool }); const authDetails = new AuthenticationDetails({ Username: email, Password: password }); user.authenticateUser(authDetails, { onFailure: (err) => { console.error('onFailure:', err); }, newPasswordRequired: () => { user.completeNewPasswordChallenge(passwordFirst, { onFailure: (err) => { console.error('onFailure:', err); }, onSuccess: (result) => { console.log(passwordFirst); console.log('call result: ', result); navigate('dashboard'); } }); } }); }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Defina una función onSuccess para authenticateUser :

 user.authenticateUser(authDetails, { onSuccess: (result) => { console.log(result); }, onFailure: (err) => { console.error('onFailure:', err); }, newPasswordRequired: () => { user.completeNewPasswordChallenge(passwordFirst, { onFailure: (err) => { console.error('onFailure:', err); }, onSuccess: (result) => { console.log(passwordFirst); console.log('call result: ', result); navigate('dashboard'); } }); } }

Además, según la documentación , newPasswordRequired toma una función cuya firma es diferente de la que proporciona. Así que creo que lo que podrías querer es realmente:

 user.authenticateUser(authDetails, { onSuccess: (result) => { console.log(passwordFirst); console.log('call result: ', result); navigate('dashboard'); } onFailure: (err) => { console.error('onFailure:', err); }, newPasswordRequired: (userAttributes, requiredAttributes) => { /*whatever you want to do when new password is required*/ } }
about 4 years ago · Juan Pablo Isaza Relatório

0

Al leer más la documentación, no se permite devolver userAttributes.email_verified y debe eliminarse. Hice esto. Sin embargo, mi aplicación aún no funcionaba porque la API tampoco acepta phone_number_verified en la llamada de devolución. Tengo estas dos líneas ahora:

 const onSubmit = (event) => { // first log in attempt with the temporary passcode OR with permanent changed passcode event.preventDefault(); const authDetails = new AuthenticationDetails({ Username: email, Password: password }); const user = new CognitoUser({ Username: email, Pool: UserPool }); user.authenticateUser(authDetails, { onSuccess: (data) => { console.log('onSuccess:', data); if (location.pathname === '/') { navigate('dashboard'); } }, onFailure: (err) => { console.error('onFailure:', err); }, newPasswordRequired: (data) => { setNewPasscodeRequired(true); // once this is set to true, my application shows a new component which requests the password twice and tells the user the rules for the passcode } }); }; const onSubmitPasscode = (event) => { // once they submit their new passcode event.preventDefault(); if (passwordFirst !== passwordSecond) { alert('the two inputs provided are not the same'); } else { const user = new CognitoUser({ Username: email, Pool: UserPool }); const authDetails = new AuthenticationDetails({ Username: email, Password: password }); user.authenticateUser(authDetails, { onFailure: (err) => { console.error('onFailure:', err); }, onSuccess: (result) => { console.log(result); }, newPasswordRequired: (userAttributes, requiredAttributes) => { delete userAttributes.email_verified; // THIS IS NON NEGOTIABLE delete userAttributes.phone_number_verified; // THIS IS NON NEGOTIABLE user.completeNewPasswordChallenge(passwordFirst, userAttributes, { onFailure: (err) => { console.error('onFailure:', err); }, onSuccess: (result) => { console.log('call result: ', result); navigate('dashboard'); } }); } }); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda