php facebook sdk doesn't create the user in wordpress php facebook sdk doesn't create the user in wordpress wordpress wordpress

php facebook sdk doesn't create the user in wordpress


Please find the sample code below. I have made the use of JavaScript SDK for the login and PHP SDK for generating access-token. I hope it will work for you.

** HTML Code:: **

    <html>    <body>  <p><a href="#" onClick="logInWithFacebook()">Log In with the JavaScript SDK</a></p>  <script>    logInWithFacebook = function() {      FB.login(function(response) {        if (response.authResponse) {          alert('You are logged in & cookie set!');          location.href = "//localhost/facebook/testfb.php"            // Now you can redirect the user or do an AJAX request to            // a PHP script that grabs the signed request from the cookie.        } else {          alert('User cancelled login or did not fully authorize.');        }      });      return false;    };    window.fbAsyncInit = function() {      FB.init({        appId: 'app-id',        cookie: true, // This is important, it's not enabled by default        version: 'v2.9'      });    };    (function(d, s, id) {      var js, fjs = d.getElementsByTagName(s)[0];      if (d.getElementById(id)) {        return;      }      js = d.createElement(s);      js.id = id;      js.src = "//connect.facebook.net/en_US/sdk.js";      fjs.parentNode.insertBefore(js, fjs);    }(document, 'script', 'facebook-jssdk'));  </script></body></html>

** PHP Code **

<?phprequire_once('Facebook/autoload.php');# /js-login.php$fb = new Facebook\Facebook(['app_id' => '{app-id}','app_secret' => '{app-secret}','default_graph_version' => 'v2.9',]);$helper = $fb->getJavaScriptHelper();try {    $accessToken = $helper->getAccessToken();} catch(Facebook\Exceptions\FacebookResponseException $e) {    // When Graph returns an error    echo 'Graph returned an error: ' . $e->getMessage();    exit;} catch(Facebook\Exceptions\FacebookSDKException $e) {    // When validation fails or other local issues    echo 'Facebook SDK returned an error: ' . $e->getMessage();    exit;}if (!isset($accessToken)) {    echo 'No cookie set or no OAuth data could be obtained from cookie.';    exit;}// The OAuth 2.0 client handler helps us manage access tokens$oAuth2Client = $fb->getOAuth2Client();// Get the access token metadata from /debug_token$tokenMetadata = $oAuth2Client->debugToken($accessToken);// Validation (these will throw FacebookSDKException's when they fail)$tokenMetadata->validateAppId('{app-id}'); // Replace {app-id} with your app id// If you know the user ID this access token belongs to, you can validate it here//$tokenMetadata->validateUserId('123');$tokenMetadata->validateExpiration();if (! $accessToken->isLongLived()) {  // Exchanges a short-lived access token for a long-lived one  try {    $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken);  } catch (Facebook\Exceptions\FacebookSDKException $e) {    echo "<p>Error getting long-lived access token: " . $helper->getMessage() . "</p>\n\n";    exit;  }  echo '<h3>Long-lived</h3>';  var_dump($accessToken->getValue());}$_SESSION['fb_access_token'] = (string) $accessToken;try {  // Returns a `Facebook\FacebookResponse` object  $response = $fb->get('/me?fields=id,name,email', $accessToken->getValue());} catch(Facebook\Exceptions\FacebookResponseException $e) {  echo 'Graph returned an error: ' . $e->getMessage();  exit;} catch(Facebook\Exceptions\FacebookSDKException $e) {  echo 'Facebook SDK returned an error: ' . $e->getMessage();  exit;}$user = $response->getGraphUser();echo 'Name: ' . $user['name'];echo 'Email: ' . $user['email'];?>