FB SDK Error: Login Failed (react-native)

13,446

Solution 1

Error when login with Facebook SDK — React Native

The problem was that Facebook SDK was still keeping the previous session token, and when I was trying to login again I was getting this error, to solve this problem all I had to do was to call the logOut method from the LoginManager.

try to this before LoginManager.logInWithReadPermissions...

LoginManager.logOut();

Solution 2

After couple of hours trying different solutions, I managed to fix it thanks to Cassiano Montanari and zavadpe's comment from here Incorrect installation

I ended up with this configuration:

Pod file:

  pod 'FBSDKCoreKit', '4.38.0'
  pod 'FacebookSDK', '4.38.0'
  pod 'FBSDKShareKit', '4.38.0'
  pod 'FBSDKLoginKit', '4.38.0'

You need to make sure you add libRCTFBSDK.a in Link Binary With Libraries and to remove 'react-native-fbsdk', :path => '../node_modules/react-native-fbsdk' from your pod file.

My issue start ocurring after I upgrade FBSDK to 4.39 and I couldn't find any way to specify the SDK version into the pod file if I use pod 'react-native-fbsdk', :path => '../node_modules/react-native-fbsdk'.

I think one option is to use Carthage, but I haven't try it yet.

Solution 3

As per Cassiano Montanari's comment, downgrading from 4.39.0 to 4.38.0 is the fix. I was struggling with this all afternoon and the downgrade solved it immediately.

Share:
13,446
Jonas
Author by

Jonas

Updated on June 06, 2022

Comments

  • Jonas
    Jonas about 2 years

    I'm currently setting up Facebook Authentication for my Reach Native application. After the usual problems with the react-native-fbsdk setup, now the Facebook App Events work and the LoginManager loads up.

    My problem: After Authorisation the LoginManager redirects me back to the app, then shows me the Error:

    Login Failed

    I'm using the very standard LoginManager implementation:

    const FBSDK = require('react-native-fbsdk');
    const {
      LoginManager,
      AccessToken,
    } = FBSDK;
    
    
    export default class FacebookAuth extends Component {
    
      facebook(){
        LoginManager.logInWithReadPermissions(['public_profile', 'email']).then(
      function(result) {
        if (result.isCancelled) {
          alert('Login cancelled');
        } else {
          alert('Login success with permissions: '
            +result.grantedPermissions.toString());
        }
      },
      function(error) {
        alert('Login fail with error: ' + error);
      }
    );
    

    Do you have any pointers for me?

    I already checked:

    • FB app info in Info.Plist
    • iOS Bundle ID in Facebook App
    • Client OAuth Settings
    • FBSDK LoginButton (same error)

    I'm running: iOS 10 & react-native 0.38.0.

    Thanks!