我正在使用FB PHP SDK和Code Igniter 2 Framework.
我有一个注册页面,我可以在其中显示链接,以供用户单击和批准该应用程序,并授予其访问其基本数据和电子邮件的权限.这似乎工作正常(尽管我将其设置为弹出窗口,但没有弹出窗口,仅显示在同一页面上!).
我的问题是,使用FB登录后,页面显示了注销链接,单击该链接应将其注销(并因此再次显示登录链接),但是它不起作用.
我有一个参数集,可以将其带到特定页面,并且可以正常工作.出于某种原因,FB“会话”仍然存在,并且用户保持使用FB登录.
有任何想法吗?
我在控制器中的代码:
// Facebook Connect
$fb_config = array(
'appId' => 'xxx',
'secret' => 'xxx'
);
$this->load->library('facebook', $fb_config);
$user = $this->facebook->getUser();
if ($user) {
try {
$data['user_profile'] = $this->facebook->api('/me');
} catch (FacebookApiException $e) {
$user = null;
}
}
if ($user) {
$params = array('next' => 'http://localhost/game/index.php/game/login');
$data['logout_url'] = $this->facebook->getLogoutUrl($params);
} else {
$params = array('scope' => 'email, publish_stream, publish_actions', 'display' => 'popup');
$data['login_url'] = $this->facebook->getLoginUrl($params);
}
最后一个小问题-我什至应该使用PHP SDK,还是应该使用Javascript SDK?我找不到任何信息最适合任何工作? Confused.com
解决方法:
should I even be using the PHP SDK, or should I use the Javascript SDK?
如果您的应用可以使用JavaScript SDK而不是PHP SDK创建,请继续使用.为其他事情节省服务器的CPU周期.它还允许您异步执行登录,这可能很好.
复杂的应用程序通常同时使用JavaScript SDK和PHP SDK-在这种情况下,登录通常是在JavaScript端进行的(PHP SDK自动知道用户是否通过JavaScript登录).