0

我正在使用 CakePHP 2.3.1 和这个插件:https ://github.com/webtechnick/CakePHP-Facebook-Plugin来实现 Facebook 身份验证。我按照这个屏幕投射http://tv.cakephp.org/video/webtechnick/2011/01/12/nick_baker_--_facebook_integration_with_cakephp但它不起作用,我无法接收 Facebook 用户信息。我的意思是$this->Connect->user()总是回来null

4

2 回答 2

0

首先确保您的用户有权访问您的应用程序。然后通过 api(/me) 拨打电话检索个人详细信息 =>$this->Connect->user()

就个人而言,我使用这个

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

启动 ConnectComponent 将填充(或不填充)身份验证会话。如果找不到 id,则将用户重定向到登录对话框。

于 2013-05-04T14:13:01.853 回答
0

从 beforefilter.. 调用此方法并将收到的发布数据保存在 fb_data 等变量中。

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
}
于 2013-07-15T14:45:06.317 回答