[英]Facebook connect with codeigniter redirect in loop after login
我正在尝试使用Codeigniter连接Facebook。 如果我在第一时间连接,那么我可以看到权限弹出窗口,但是在我授权权限后,我得到了多个重定向循环错误。
如果我已经登录并获得授权,那么为什么它没有获取uid。
我在Facebook中提供了网站网址: http : //mysite.com/
而我的重定向uri是http://mysite.com/facebook/
我已将这些文件添加到库文件夹中。
library/fb_connect.php
library/facebook/facebook.php
library/facebook/base_facebook.php
library/facebook/fb_ca_chain_bundel.crt
facebook文件夹中的最后3个文件是facebook SDK文件。
这是我的fb_connect.php中的代码
<?php
include(APPPATH.'libraries/facebook/facebook.php');
class Fb_connect {
function connect(){
$facebook = new Facebook(array(
'appId' => 'XXXXXXX',
'secret' => 'XXXXXXXXXXXXXX',
'cookie' => true,
));
//Get User ID
$user=$facebook->getUser();
if(!$user){
$loginUrl=$facebook->getLoginUrl(array(
'scope' => 'email,publish_stream,user_birthday,user_location',
'redirect_uri' => 'http://localhost/beta/facebook/',
'display'=> 'popup'
));
redirect($loginUrl')";
exit();
} else {
$user_profile = $facebook->api('/me');
print_r($user_profile);
}
?>
这是我的控制器代码:
function facebook(){
$this->load->library('fb_connect');
$user_data=$this->fb_connect->connect();
}
有几件事;
1.您说“我的重定向uri是http://mysite.com/facebook/”-但是在您的代码中:
'redirect_uri' => 'http://localhost/beta/facebook/',
应该:
'redirect_uri' => 'http://mysite.com/facebook/',
2.您说“我在Facebook中提供了网站网址: http : //mysite.com/ ”-您还需要在您的facebook api中专门设置返回网址-应该为“ http://mysite.com/facebook”
3.您说您的重定向是“ http://mysite.com/facebook/”-您是否将此设置为路由? 因为通常它应该是“ http://mysite.com/mycontroller/facebook/”
4.您有错别字(如果这是副本+粘贴):
redirect($loginUrl')";
应该
redirect($loginUrl);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.