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

483
Views
El inicio de sesión de usuario federado de AWS Cognito no permite iniciar sesión como un usuario diferente después de cerrar sesión

Puedo cerrar sesión e iniciar sesión, pero hay 1 escenario particular que no puedo lograr.

Guión:-

  • El usuario inicia sesión mediante el inicio de sesión social federado (Google), mediante la interfaz de usuario alojada directamente.
  • Ahora el usuario hace clic en cerrar sesión y lo dirige a la URL de cierre de sesión de AWS Cognito
 https://xxxxxxx.auth.us-east-2.amazoncognito.com/logout? response_type=token&client_id=xxxxxxxxx&logout_uri=https://abc/logout.html

cierra la sesión del usuario con éxito y redirige con éxito al usuario a la página de cierre de sesión como se menciona en la URL.

  • Ahora, cuando el usuario intenta iniciar sesión nuevamente con una cuenta diferente, se ve obligado a usar solo su inicio de sesión anterior de Google.

Quiero tener tal funcionalidad que el usuario pueda cerrar sesión y volver a iniciar sesión si lo desea, luego puede iniciar sesión con la misma cuenta o con una diferente dependiendo de la elección.

El punto importante a tener en cuenta es que no puedo usar AWS-Amplify ni ningún marco de javascript, solo javascript simple.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

La razón por la que siempre se ve obligado a iniciar sesión con el mismo usuario parece ser que /logout? endpoint solo cierra la sesión del usuario en Cognito, pero Cognito no comunica a Google que debe cerrar la sesión de su dispositivo. Por lo tanto, cada vez que vuelve a iniciar sesión y se inicia la pantalla de autenticación de Google, Google aún recuerda el dispositivo y ve que todavía está conectado. Como resultado, el URI de redirección se activa sin que se le solicite que elija una nueva cuenta.

Me encuentro con los mismos problemas en un proyecto de React Native, pero aún no he encontrado ninguna evidencia de que Cognito ofrezca un punto final para forzarlo a cerrar la sesión del proveedor de identidad (es decir, Google).

PD: aquí hay otra discusión de stackoverflow con más información: AWS Cognito: cómo forzar una cuenta seleccionada al iniciar sesión con Google

Una de las respuestas en ese hilo menciona llamar al punto final de cierre de sesión de Google directamente como parte del flujo de cierre de sesión. Definitivamente no es bonito, pero dado que está usando Javascript simple, podría ser una solución suficiente.

Si encuentra una solución más limpia, asegúrese de compartirla, ya que me interesaría saber qué encuentra :)

over 4 years ago · Santiago Trujillo Report

0

Bueno, lo hice funcionar, pero no creo que sea un problema, sino un tipo de comportamiento que todo desarrollador debería saber que está tratando de integrar el inicio de sesión de Google en la aplicación allí. Aquí están los pocos escenarios que he comprobado y su comportamiento respectivo.

Mi URL de inicio de sesión de AWS Cognito

 https://xxxxxxx.auth.us-east-2.amazoncognito.com/oauth2/authorize? identity_provider=Google&redirect_uri=https://xxxxxx/login.html&response_type=TOKEN &client_id=xxxxxxxxxxxxxxxxx&scope=phone%20email%20openid%20profile

Mi URL de cierre de sesión de AWS Cognito

 https://xxxxxxxxx.auth.us-east-2.amazoncognito.com/logout? client_id=xxxxxxxxxxxxxxxxxxxx &logout_uri=https://xxxxxxxxxxxxx/logout.html

Al usar la URL anterior cuando cierro la sesión, no me desconecto del navegador Chrome.

Este comportamiento es un problema para muchas personas.

Entonces, cuando su navegador Chrome tiene solo 1 cuenta iniciada, en ese momento el inicio de sesión de AWS Cognito Google no redirigirá a una página donde puede seleccionar el usuario diferente, porque solo tiene un usuario a través del cual se registra indirectamente.

Descubrí cómo podemos mostrar múltiples inicios de sesión: - Entonces, si desea que otro usuario inicie sesión, primero debe iniciar sesión en el navegador Chrome, y cuando haga clic en el inicio de sesión de Google desde el sitio web en ese momento, podrá seleccionar el usuario, como en Chrome, ahora tenemos 2 usuarios registrados en Google, desde donde puede seleccionar qué usuario desea usar para acceder.

No aceptaré esto como una respuesta porque no es la forma en que todos quieren este comportamiento, esperaré unos días si alguien puede sugerir una mejor manera . Creo que sí, por ahora, tenemos que ir con esto.

over 4 years ago · Santiago Trujillo Report
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!