Seguridad y trabajo diario - Google, GitHub y Facebook
Orden de resolución
En cada inicio de sesión con un proveedor, DockRay comprueba tres cosas en orden: si ya existe un vínculo con ese identificador en ese proveedor - si es así, inicia sesión de inmediato; si no, si existe un usuario con el correo devuelto - si es así y el proveedor verifica direcciones, engancha el vínculo a esa cuenta; si nada de eso ocurre, crea una nueva cuenta de inquilino. Un vínculo se busca por el identificador del proveedor, nunca por el correo - una persona puede cambiar su dirección, el identificador nunca cambia.
No todos los proveedores verifican la dirección
Enganchar un inicio de sesión a una cuenta existente por correo solo se permite con un proveedor que verifique realmente las direcciones. Google y GitHub lo hacen - GitHub devuelve la dirección principal de la cuenta. Facebook no: su documentación no lo garantiza, y se puede escribir una dirección en un perfil sin demostrar acceso a ese buzón. Si DockRay enganchara de todos modos por el correo de Facebook, bastaría con crear allí un perfil con la dirección de otra persona para entrar en su cuenta. Por eso un inicio de sesión con Facebook que coincide con una dirección existente termina con un mensaje que pide iniciar sesión con contraseña, en lugar de engancharse en silencio - y una cuenta nueva creada por esta vía pasa por la verificación por correo habitual, porque la dirección todavía no está confirmada.
Qué recibe una cuenta creada por esta vía
La contraseña de una cuenta creada por inicio de sesión social es aleatoria y no se entrega a nadie - el camino hacia una contraseña propia pasa por un restablecimiento, es decir, por ese mismo buzón. El correo queda confirmado de inmediato si el proveedor verifica direcciones (Google, GitHub); iniciar sesión con uno de esos proveedores también confirma el correo de quien se registró con el formulario y nunca hizo clic en el enlace de verificación.
Inicio de sesión social y el segundo factor
Si una cuenta tiene activada la verificación en dos pasos, un inicio de sesión con proveedor no la evita - al volver de Google, GitHub o Facebook, DockRay pide el segundo factor exactamente igual que tras un inicio de sesión con contraseña. El proveedor demuestra la identidad; que esa identidad entre en el panel lo decide solo DockRay.
Un usuario desactivado y la rotación de claves
Una cuenta desactivada no puede iniciar sesión por esta vía, por muy correctamente que el proveedor haya confirmado la identidad - el estado de la cuenta se comprueba con independencia del método de inicio de sesión. Si sospechas que el Client Secret de un proveedor se ha filtrado, genera uno nuevo en su consola de desarrolladores y pégalo en los ajustes de la plataforma - los vínculos de cuenta existentes no se ven afectados, porque están ligados al identificador del usuario en el proveedor, no al secreto de la aplicación en sí.