Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

268
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!