SSO - ¿Qué debería suceder cuando el usuario hace clic en "Cerrar sesión"?

4

Estamos agregando la capacidad para que las empresas configuren el inicio de sesión en nuestra aplicación web a través de proveedores externos de inicio de sesión único (inicialmente a través de WS-FED, sin embargo, las versiones futuras admitirán protocolos adicionales). La autenticación de nombre de usuario / contraseña también estará disponible para los clientes que no tengan / quieran configurar un proveedor de SSO externo, y también como un respaldo en los casos en que exista algún problema con el proveedor de SSO.

¿Qué debería suceder cuando los usuarios hacen clic en el botón "Cerrar sesión" en nuestra aplicación?

  • Se cierra la sesión de nuestra aplicación solo para que otras aplicaciones que se autentican a través del proveedor de SSO aún estén disponibles.
  • Como se mencionó anteriormente, pero también solicitamos una nueva autenticación con el proveedor de SSO.
  • Están completamente desconectados de su proveedor de SSO
pregunta Justin 29.02.2016 - 11:49
fuente

3 respuestas

2

Este es uno de esos lugares en los que la facilidad de uso y la seguridad generan respuestas radicalmente diferentes.

Desde un punto de vista de usabilidad, he observado los siguientes argumentos:

  • Cuando cierre la sesión en Sitio a , solo desconecto el formulario aquí y puedo seguir usando las otras ubicaciones en las que todavía estoy conectado.
  • Cuando presiono cerrar sesión en Sitio a en realidad solo me redirecciono a Sitio b (el portal) y solo cuando cierro la sesión, me desconecto. (utilizado principalmente en el contexto de una intranet o entorno similar)

Desde un punto de vista de seguridad, he observado los siguientes argumentos:

  • Cuando un usuario realiza un cierre de sesión, invalida de inmediato TODAS las sesiones para este usuario y cierre la sesión de cualquiera de los sistemas que forman parte del SSO.
  • Cuando un usuario realiza un cierre de sesión, informe al proveedor de SSO y no permita nuevas sesiones ni cierre de sesión de la aplicación actual. pero no hay un cierre de sesión implícito para todos los sistemas en el SSO. (Generalmente mitigado con tiempos de sesión cortos / tiempo de vida de las cookies). Esto puede ser una limitación técnica debido a las tecnologías involucradas (y / o licencias)
respondido por el LvB 29.02.2016 - 12:29
fuente
1

En la mayoría de los sistemas de autenticación de SSO que he usado, Cerrar sesión generalmente significa desconectarse del proveedor de autenticación y de todos los sistemas conectados.

En algunas aplicaciones mal escritas y en el sistema SSO, la aplicación puede almacenar en caché la autenticación y no darse cuenta de que la sesión que están usando ya ha caducado, pero se supone que la aplicación vuelve a verificar la validez de la sesión para evitar que esta situación se mantenga. por mucho. Los mejores sistemas de SSO pueden volver a publicar en las aplicaciones, obligándolos a cerrar sesión de inmediato en lugar de depender de la verificación de la aplicación periódicamente.

    
respondido por el Lie Ryan 29.02.2016 - 12:21
fuente
0

Probablemente no haya una respuesta correcta aquí, pero recomendaré que "Cerrar sesión" solo se aplique a su sitio.

Intercambio de pilas como ejemplo

Uso la opción "Iniciar sesión con Google". Cuando hago clic en Cerrar sesión, veo esto:

Thecierredesesión"menú" en el intercambio de pila

Notas:

  1. Muestra que se desconectará de todos los dominios de Stack Exchange.
  2. Es mi elección si me desconecto solo de este dispositivo o de todos los dispositivos. (que asumo es delete-local-browser-cache vs invalidate-serverside-session).
  3. Después de cerrar sesión en SE, la pestaña de gmail continúa funcionando.

Algunas razones por las que no me siento cómodo

  

Están completamente desconectados de su proveedor de SSO

Usabilidad

Me sentiría bastante molesto si me desconecto de Stack Exchange en mi computadora portátil y algún tiempo después descubro que mi teléfono ha sido expulsado de mi cuenta de Google, lo que me hace perder correos electrónicos urgentes, chats, Google Docs no sincronizados, etc. .

Seguridad

Si cerrar sesión en un servicio hace que me desconecte del proveedor de SSO, ¿podría considerarse un vector de ataque de denegación de servicio? es decir, ¿puede un empleado malintencionado de Stack Exchange obtener mi navegador para desconectarme de todos los servicios de Google? ¿Aumenta el impacto de las vulnerabilidades de XSS en los sitios de terceros? es decir, ¿esto vincula de alguna manera la seguridad de dos sitios no relacionados solo porque usan el mismo proveedor de SSO? (Tendría que reflexionar sobre esto un poco más)

    
respondido por el Mike Ounsworth 12.09.2018 - 16:54
fuente

Lea otras preguntas en las etiquetas