OpenID Connect, OAuth2 y cuentas eliminadas

2

Si uso OpenID Connect u OAuth2 para la autenticación, y un cliente borra su cuenta del proveedor de OAuth2 (Facebook), ¿cómo puedo asociar de manera segura una nueva autenticación con un proveedor de OAuth2 diferente a la cuenta anterior para que el cliente pierda? ¿Su información almacenada? ¿Debo configurar algunos medios alternativos de autenticación al momento de crear la cuenta?

Estaba pensando que, como parte del registro con su proveedor original de OAuth2 (por ejemplo, Facebook), solicitaría su dirección de correo electrónico de Facebook y la guardaría. Más adelante, cuando se elimine su cuenta de Facebook, puedo hacer que se vuelvan a registrar, digamos con Google+, Twitter, LinkedIn o algún otro proveedor de OAuth2 (OpenID Connect) que acepte, solicite el correo electrónico de ese nuevo proveedor y luego simplemente asocie ¿La nueva cuenta con la antigua cuenta registrada en Facebook? ¿Es esto seguro desde un punto de vista de seguridad? Depende de que la dirección de correo electrónico sea realmente suya y de que los proveedores de OAuth2 hayan verificado eso.

    
pregunta Ralph 29.03.2018 - 14:43
fuente

1 respuesta

2
  

Pensaba que, como parte del registro con su proveedor original de OAuth2 (por ejemplo, Facebook), solicitaría su dirección de correo electrónico

Usted puede intentar usar la dirección de correo electrónico como una clave única, y podría funcionar principalmente, pero está llena de problemas.

  1. Si el usuario se registra con una cuenta de Google o una cuenta de Yahoo, la dirección de correo electrónico proporcionada probablemente estará vinculada a la cuenta. Entonces, cuando la cuenta se borra, la dirección de correo electrónico también perece.

  2. Si un usuario elimina una cuenta de un proveedor de identidad que también le proporciona su dirección de correo electrónico (vea el punto 1), entonces es posible un simple ataque: Eve puede registrar una nueva cuenta con la identidad proveedor y reactivar la dirección de correo electrónico, pero ahora pertenecerá a Eve en lugar del usuario original.

  3. No hay garantía de que diferentes proveedores de identidad le envíen la misma dirección de correo electrónico para un usuario determinado. De hecho, es bastante improbable. Por lo tanto, no podrá identificar al "mismo" usuario según la dirección de correo electrónico en el token de identificación.

Si realmente necesita que un usuario acceda a su cuenta a pesar de haber borrado la cuenta con la que normalmente inicia sesión, debe configurar una forma alternativa de autenticación antes que borre la cuenta. Por ejemplo, podría permitirle vincular su cuenta con varios proveedores de identidad, proporcionarle un "token de acceso" de emergencia que se pueda usar para canjear una cuenta (directamente o solicitando su número de teléfono de una dirección de correo electrónico alternativa) , o use cualquiera de los esquemas de preguntas de seguridad que usan otros sitios.

    
respondido por el Pascal 29.03.2018 - 17:47
fuente

Lea otras preguntas en las etiquetas