Inicie sesión en las redes sociales mediante Facebook Connect

1

Vine aquí con un problema de lucha. Administramos un sitio web de medios sociales, donde las personas pueden registrarse mediante el inicio de sesión clásico (puede ser su correo electrónico o su nombre de usuario) y el formulario de contraseña, pero también utilizando un Facebook Connect.

Cuando un usuario elige la segunda opción, le solicitamos su autorización para conectarse a FB Auth y luego FB nos da algunos detalles, ya que hoy utilizamos el correo electrónico registrado en Facebook como inicio de sesión y su ID de Facebook como contraseña.

Cuando vimos que podíamos cambiar nuestra dirección de correo electrónico principal en fb, sabíamos que teníamos que cambiar nuestra forma de conectarlos. Así que pensamos en enviar su ID de FB para autenticar al usuario.

Para evitar cualquier problema de rastreo, agregamos un certificado SSL. Pero aún tenemos un problema: incluso con la minificación en nuestra aplicación angular, un usuario puede saber con una pequeña investigación que para autenticar su propio servicio a nuestro servicio, "simplemente" debe conocer su identificación y enviarla con el cartero. / p>

Entonces, si puede obtener el ID de Facebook de otro usuario (que incluso podría haberse filtrado o vendido en otro sitio web), podría usar Postman para autenticarse como otro usuario.

¿Cómo puedo asegurar este proceso?

Pensamos en usar criptografía asimétrica donde el cliente cifraría la ID con la clave de pub y el servidor la descifraría con clave privada. Pero después de todo, no parece solucionar el problema.

    
pregunta Alex Werner 24.06.2016 - 15:56
fuente

1 respuesta

0

Creo que confirmar la "cuenta FB" es suficiente para autenticar (siempre que verifique la fuente y que el SSO esté correctamente configurado). Puede preguntar al usuario si desea actualizar su correo electrónico si detecta que se modificó. Supongo que está utilizando otra ID para rastrear a sus usuarios y el correo electrónico es solo un campo simple, ¿no?

Le recomiendo que también pise la cuenta de FB (no la almacene como texto sin formato ni la almacene en el campo de contraseña, ya que se le permitirá iniciar sesión con ese nombre de cuenta).

Un problema del uso de SSO con servicios de terceros, es que si han permitido que el correo electrónico se modifique sin confirmación (debido a un error de seguridad), se puede usar para iniciar sesión con cualquier otro usuario que también esté usando SSO (asumiendo que conocen el correo electrónico de un usuario específico ... que debería estar oculto para todos los usuarios).

Hay muchas formas posibles de abordar su problema. No sé cuál será la mejor manera de implementarlo ... mejor hacer más investigación y aprender cómo lo están haciendo los grandes.

    
respondido por el lepe 24.06.2016 - 16:54
fuente

Lea otras preguntas en las etiquetas