3
votes

I'm struggling to setup a logout action in my app, considering the User has logged in through Facebook provider (react-native-fbsdk). What is the proper way to setup a logout? So, when Users get back to my App and try to login, email and password should be requested again. pls help

To login I'm using: LoginManager.logInWithReadPermissions(['public_profile', 'email']);

I have tried to call LoginManager.logOut(), LoginManager.setLoginBehavior('I have tried all types'), but did not revoke permissions. I've also tried to call GraphRequest as per code below but I didn't get the desired result.

 logoutFacebook = () => {
    AccessToken.getCurrentAccessToken()
    .then(data => { 
      return data.accessToken.toString();
    })
    .then(accessToken => {
      const logout = new GraphRequest(
        'me/permissions/',
        {
          accessToken,
          httpMethod: 'DELETE'
        },
        (error, result) => {
            if (error) {
                console.log(`'Error fetching data: '${error.toString()}`);
            } else {
                console.log(result);
                LoginManager.logOut();
            }
        }
      );
      new GraphRequestManager().addRequest(logout).start();
    })
    .catch(error => {
      console.log(error);
    });
  }
Please anyone? I really need this to publish my app. Thanks in advance! - Gustavo Menezes
same, I'm having the same problem. but the other way of doing it, is by forcing user to login through web. LoginManager.setLoginBehavior(LoginBehavior.WEB_ONLY); . And it will ask for email and password again after the said user logout - displayname