¿Necesitamos un flujo del lado del cliente o del lado del servidor o ambos para implementar la función de inicio de sesión con Facebook?

StackOverflow https://stackoverflow.com//questions/9664804

Pregunta

Actualmente en mi sitio web, los usuarios inician sesión con su identificación de inicio de sesión y contraseña, también deben ingresar su email cuando se registran.Ambos login_id y email columna en el users La tabla tiene un índice único. users La tabla también almacena otros datos asociados con el usuario, como gender,last_name,first_name pero estos son campos opcionales (que admiten valores NULL).

Hay dos cambios que me gustaría hacer en el sitio web.

La primera es que los usuarios pueden usar su correo electrónico (además de login_id) iniciar sesión.Para los nuevos usuarios, cuando se registran, ya no necesitan proporcionar un login_id porque utilizarán su correo electrónico para iniciar sesión.

El segundo cambio es que pueden iniciar sesión con Facebook.Para los nuevos usuarios, si inician sesión en Facebook por primera vez, su UID de Facebook se obtendrá y se almacenará en mi base de datos.Esto significa que tendré que agregar un facebook_uid columna en el users mesa.

Para los usuarios existentes, cuando inician sesión en Facebook por primera vez, primero debo obtener su dirección de correo electrónico de su perfil de Facebook y luego verificar si ya existe un registro usando ese correo electrónico en el users tabla, en caso afirmativo, su uid de Facebook también se almacenará en la facebook_uid columna en ese registro.

Según Facebook, su plataforma admite dos flujos OAuth 2.0 diferentes para el inicio de sesión de los usuarios:flujo del lado del servidor y flujo del lado del cliente.¿Cuál o ambos se requieren para este caso de uso?

Además, ¿qué problemas se pueden anticipar cuando implemente las funciones que describo anteriormente?

¿Fue útil?

Solución

Puede adoptar cualquier enfoque para esto; depende totalmente de usted.Ambos métodos le brindarán los datos que necesita, es una cuestión de qué tan cómodo se sienta trabajando en la parte posterior o frontal.Sólo necesitas pedir permiso para acceder a la dirección de correo electrónico del usuario.

Problemas que podrían ocurrir:No estoy seguro, pero puede haber restricciones legales sobre el almacenamiento de la identificación de Facebook del usuario.Además, ¿qué pasa si alguien (¡no yo, una persona malvada!) se registra con mi dirección de correo electrónico y no validas que realmente tenga acceso a esa dirección; entonces, cuando inicie sesión a través de Facebook, la aplicación asumirá que somos los La misma persona y el malvado hacker ahora tiene acceso a mi cuenta.Escenario improbable pero podría suceder...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top