0
votes

I'm using CakePHP 2.3.1 and this plugin: https://github.com/webtechnick/CakePHP-Facebook-Plugin to implement a facebook authentication. I followed this screen cast http://tv.cakephp.org/video/webtechnick/2011/01/12/nick_baker_--_facebook_integration_with_cakephp but it doesn't work, I can't receive the Facebook user information. I mean $this->Connect->user() always return null.

2

2 Answers

0
votes

First make sure your user as granted access to your app. Then make a call to retrieve personal details through the api(/me) => $this->Connect->user()

Personally, I use this

public function beforeFilter(){
    if($this->Connect->FB->getUser() != 0){
        $this->set('facebookUser', $this->Connect->user());
}

Initiating ConnectComponent will populate (or not) the Auth Session. If no id is to be found, redirect user to a login dialog.

0
votes

Call this method from beforefilter..and save the post data received in some variable like fb_data here.

protected function _valdiateFbRequest() {

       if (!isset($this->request->data['signed_request'])) {
        // not a valid request from fb
       // throw exception or handle however you want
       return;
   }
   $this->signedRequest = $this->request->data['signed_request'];
   $this->fb_data=$this->Connect->registrationData(); //save fb data

   unset($this->request->data['signed_request']);

   if (empty($this->request->data)) {
       $this->Security->csrfCheck = false;
   }
   // validate the request
}