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

271
Visualizações
Error: Falta la credencial para AssociateSoftwareTokenCommand con AWS CognitoIdentityProviderClient Javascript SDK

BLUF: Me gustaría configurar la asociación de tokens de software en AWS Cognito en una aplicación de JavaScript orientada al usuario (mediante AWS SDK) y tengo problemas con los errores "Falta la credencial".

Estoy tratando de crear una aplicación usando AWS Cognito usando Javascript SDK y CognitoIdentityProviderClient que requiere que el usuario use un token de software MFA.

Puedo registrarme y confirmar al usuario usando SignUpCommand y puedo generar una respuesta exitosa para el usuario con InitiateAuthCommand usando el nombre de usuario/contraseña de inicio de sesión (iniciar sesión por primera vez). En ese momento, necesito procesar un desafío MFA_SETUP que requiere el uso de un flujo AssociateSoftwareTokenCommand separado para generar los secretos y las respuestas.

Esperaría poder permitir que el usuario final, mientras inicia sesión a través de su navegador, emita el comando para asociar el token de software después de ingresar con éxito su nombre de usuario/contraseña por primera vez.

El problema con el que me encuentro es que aparece el siguiente error al emitir AssociateSoftwareTokenCommand:

 Error: Credential is missing at SignatureV4.credentialProvider (runtimeConfig.browser.js:16) at SignatureV4.<anonymous> (SignatureV4.js:169) at step (tslib.es6.js:102) at Object.next (tslib.es6.js:83) at tslib.es6.js:76 at new Promise (<anonymous>) at __awaiter (tslib.es6.js:72) at SignatureV4.signRequest (SignatureV4.js:165) at SignatureV4.<anonymous> (SignatureV4.js:85) at step (tslib.es6.js:102)

Un poco de búsqueda vigorosa en Google y búsqueda a través de StackOverflow, este método requiere un objeto de credencial en la configuración del Cliente, sin embargo, esta credencial, por lo que puedo decir de los documentos de Google/SO/AWS SDK, requiere que cree un objeto IAM y genere claves/un secreto llave.

Mi aplicación (construida con React) se basa principalmente en una sola aplicación/navegador y estoy tratando de evitar una lógica adicional del lado del servidor para actuar como intermediario si es posible, y obviamente no quiero dejar caer claves secretas en interfaces orientadas al usuario. .

Mis preguntas entonces son:

  • ¿Puedo hacer esto directamente en mi aplicación React sin acción que exponga las credenciales?
  • ¿Es un intermediario/proxy del lado del servidor la única forma de asociar de forma segura un token de software?
  • ¿O tal vez hay algún aspecto de estas credenciales que estoy pasando por alto?

Las líneas de código ofensivas son simples (puedo obtener la clave de sesión válida, no hay problema):

 const client = new CognitoIdentityProviderClient({ region: AWS_REGION }); const command = new AssociateSoftwareTokenCommand({Session: session }); const response = await client.send(command)

Otras búsquedas me han mostrado que el objeto credentials: {} luego iría en el objeto de configuración del cliente, que parte entiendo, simplemente no quiero poner eso en el lado del cliente con claves secretas, etc.

Gracias por cualquier ayuda.

about 4 years ago · Juan Pablo Isaza
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