¿Cómo cerrar session al usuario usando la authentication de Facebook usando Swift e iOS?

He intentado search pero no puedo encontrar la respuesta a mi pregunta.

Estoy jugando con esta aplicación de github: https://github.com/Yalantis/Koloda/tree/master/Example

Lo estoy usando porque estoy haciendo un proyecto que utilizará el desplazamiento basado en mosaico de esta aplicación.

También estoy usando firebase. Hasta ahora, puedo agregar usuarios a mi database, por lo que la aplicación y la base de firewall están conectadas.

También quiero que los usuarios se registren / inicien session con Facebook.

Conecté mi aplicación a Facebook y un usuario puede entrar y conectarse correctamente usando la authentication de Facebook.

El problema que estoy teniendo es cerrar session.

Cuando hago clic en el button de cerrar session, quiero que el usuario esté completamente desconectado. Así que hay un método de cierre de session que viene con el SDK de Facebook llamado cierre de session. Estas son las partes relevantes de mi código.

import FBSDKLoginKit @IBAction func handleLogout(sender: AnyObject) { facebookLogin.logOut() print("loggedout") } 

Entonces, cuando hago clic en cerrar session y luego en volver a iniciar session, obtengo esta página:

http://imgur.com/owi3zZn

No quiero que el usuario permanezca autorizado después de haber hecho clic en el button Cerrar session. ¿Cómo hago para que cuando hago clic en el button de cerrar session, el usuario se desconecta completamente de Facebook y luego cuando hacen clic en el button de inicio de session deben volver a ingresar su nombre de usuario / contraseña?

He intentado search en el webz pero no puedo encontrar una solución a mi problema, aunque estoy seguro de que es algo bastante simple, ¡espero!

Gracias por su ayuda y perdón si el formatting es deficiente.

Cuando llama a logOut, el usuario se desconecta de su aplicación. En cuanto a desconectarlos de Facebook, no creo que puedas hacer eso, ni Facebook lo permitiría. La primera vez que un usuario autoriza su aplicación a través de Facebook, Facebook agrega su aplicación a la list de aplicaciones con las que están autorizadas (pueden acceder a esa página a través de Facebook.com). Cuando inician session y vuelven a iniciar session, verán la página desde la que publicaron una foto porque ya la autorizaron. La única forma de que se vuelvan a autorizar es eliminar la aplicación de su página de la aplicación de Facebook e iniciar session nuevamente en su aplicación.

Si realiza un cierre de session de usuario desde la propia aplicación mediante progtwigción, puede consultar el siguiente código

 let loginView : FBSDKLoginManager = FBSDKLoginManager() loginView.loginBehavior = FBSDKLoginBehavior.Web 

Esto abrirá la window de inicio de session de Facebook en tu aplicación en la que el usuario puede iniciar session en tu aplicación

Y para el cierre de session, puede llamar

 let manager = FBSDKLoginManager() manager.logOut() 

Esto desconectará al usuario del Facebook en la aplicación, luego de esto, si llama al método de inicio de session del SDK, verá la window emergente de inicio de session nuevamente.

Si desea borrar el perfil y el token, también llame al siguiente código con el cierre de session

  FBSDKAccessToken.setCurrentAccessToken(nil) FBSDKProfile.setCurrentProfile(nil) 

Desde tus comentarios puedo ver lo que quieres.

puede restablecer el contenido y la configuration de su simulador:

Haga clic en simulador / Restablecer contenido y configuration

El usuario Dan L tiene la respuesta correcta, en uno de mis comentarios escribió:

Oh, ya veo lo que quieres decir. Si ingresas a la aplicación Safari, puedes acceder a Facebook.com y cerrar session en tu count, iniciar session en una count diferente y volver a entrar en tu aplicación. ¡La extensión de safari que aparece cuando llamas al inicio de session de Facebook debería mostrar el nuevo usuario que inició session!

Esto es exactamente lo que necesitaba. Gracias Dan L.