facebookreact-nativereact-native-fbsdk

Getting user app token using react-native facebook SDK


I've gotten facebook login working using the new https://github.com/facebook/react-native-fbsdk, however I can't seem to get the user token which is usually returned in the response. Anyone found a way to get this information? The other SDK's https://github.com/magus/react-native-facebook-login returns it on the login request but the new FB sdk doesn't, and the documentation on the github page doesn't mention it anywhere.


Solution

  • Found the answer after some more digging. You need to use the fbsdkcore to access the user token. Heres how you use it.

    var FBSDKCore = require('react-native-fbsdkcore');
    var {
      FBSDKAccessToken,
    } = FBSDKCore;
    
    var Login = React.createClass({
      render: function() {
        return (
          <View>
            <FBSDKLoginButton
              onLoginFinished={(error, result) => {
                if (error) {
                  alert('Error logging in.');
                } else {
                  if (result.isCanceled) {
                    alert('Login cancelled.');
                  } else {
                    FBSDKAccessToken.getCurrentAccessToken((token) => {
                      console.log(token.tokenString);
                    })
                  }
                }
              }}
              onLogoutFinished={() => console.log('Logged out.')}
              readPermissions={[]}
              publishPermissions={['publish_actions']}/>
          </View>
        );
      }
    });