Inicio de sesión de Facebook con nombre de usuario después del cierre de sesión

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

  •  11-12-2019
  •  | 
  •  

Pregunta

Solo tratando de entender la filosofía detrás de Facebook Iniciar sesión.

  1. Si estoy registrado en Facebook, mi sitio web se recoge en esto y me registra automáticamente.
  2. Si estoy desconectado de Facebook, entonces no estoy autenticado en Facebook, el sitio web todavía funciona
  3. Si inicia sesión a través de mi sitio web o Facebook, estoy autenticado y puedo usar Facebook o mi sitio web como usuario autenticado
  4. Si luego lo busco en Facebook, mi aplicación todavía está autenticada pero no en Facebook.
  5. Si salgo de mi aplicación y mato todas las sesiones y elimina manualmente las cookies, puedo cerrar sesión con éxito.

    El problema que tengo después de la sesión en ambos es que $facebook->getUser(); y getAccessToken(); aún mantiene mi identificación usada y un token.¿De dónde vienen estos?

    Estoy usando el PHP SDK

¿Fue útil?

Solución

Cuando inicia sesión en su aplicación usando Facebook, su aplicación solicita a Facebook para autenticarlo. Cuando la autenticación es exitosa, Facebook le dice a su solicitud que está autenticado. Su solicitud entonces mantiene sus propias sesiones.

Lo que hace en su cuenta de Facebook o su aplicación puede no reflejar los cambios entre sí. Por ejemplo, cuando se inicia sesión en su cuenta de Facebook, su solicitud no se sabría porque en lo que respecta a su solicitud, se ha autenticado. Al mismo tiempo, cuando se desconectó de Facebook, Facebook no le dijo su solicitud que ya está desconectado.

Aplicaciones y Facebook (u otros proveedores de OAURH) Mantengan sus propias sesiones separadas.

para sus preguntas:

  1. Sí, su sitio web redirige al visitante a un enlace en Facebook que le informa automáticamente a su cliente a la que ha iniciado sesión. Ya no ves las indicaciones porque ya ha otorgado a sus permisos de solicitud durante su primer intento de acceder a la Aplicación utilizando su cuenta de Facebook.

  2. Esto funcionaría debido a las sesiones separadas. Cuando se desconectó de Facebook, todavía está conectado a la solicitud. No, a menos que la aplicación intente nuevamente su identidad a través de Facebook, en ese caso, la autenticación fallará.

  3. Esto es correcto, pero no puede iniciar sesión en su solicitud sin iniciar sesión en Facebook, a menos que tenga otra forma de autenticarse a su solicitud sin Facebook (como los inicios de sesión alternativos con cuentas vinculadas). Sin embargo, en ese caso, aún debe iniciar sesión en Facebook usando su formulario de inicio de sesión para iniciar sesión. No se puede iniciar sesión en Facebook a través de su solicitud.

  4. que es correcto. Si se cierra sesión en Facebook, se encuentra desconectado de Facebook. Debido a las sesiones separadas, debe cerrar la sesión de su solicitud también.

  5. también correcto.

    Lo que probablemente está sucediendo en su caso es:

    1. ha desconectado de su solicitud
    2. te vuelves a ser redirigido a tu página de inicio
    3. Tu página de inicio intenta autenticarte porque no está conectado
    4. se vuelve a ser redirigido a Facebook
    5. Facebook confirma su identidad y redirigencia a la aplicación La aplicación
    6. lo autentica otra vez

      Para resolver esto, su página de inicio no debe autenticarse automáticamente. Debe haber un botón que los usuarios deben hacer clic, algo así como 'Inicie sesión con Facebook' antes de iniciar la autenticación con Facebook.

      También puede "forzar el cierre de sesión" a un usuario de Facebook. Entonces, después de usar su solicitud, su usuario debe cerrar sesión en su solicitud y Facebook. Si su aplicación utiliza cookies de sesión, el usuario se desconectará si el navegador está cerrado.

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