我有问题。我目前正在开发一个php项目,我实现了一个facebook-login系统。我将用户重定向到本地主机上的文件。但是,当我尝试登录时,我收到此错误:
您无权访问此服务器上的/rent-a-Student/codeigniter/application/views/users/User_view.php。
在控制台中我看到:
GET http://localhost/rent-a-Student/codeigniter/application/views/users/User_vi ... WK9-EQOdn475FhwznNhICtrlSMqO6t3c7qp& state = 3beb2184e0ca8bf17289be263cc83ddf 403(Forbidden)
这是我的login_fb文件:
<?php
// start session
session_start();
// loading facebook srcfiles
require_once 'autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphUser;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;
// initialise app, helper and get session
$app_id = '480209908792754';
$app_secret = '86e572d72f8720363b0c01552953e064';
FacebookSession::setDefaultApplication($app_id, $app_secret);
$helper = new FacebookRedirectLoginHelper('http://localhost/rent-a-Student/codeigniter/application/views/users/User_view.php');
$session = $helper->getSessionFromRedirect();
// if session exists ,get user info
if(isset($session)) {
$request = new FacebookRequest( $session, 'GET', '/me' );
$response = $request->execute();
$graph = $response->getGraphObject();
$_SESSION['id']= $graph->getProperty('id');
$_SESSION['name']= $graph->getProperty('name');
$_SESSION['email']= $graph->getProperty('email');
header("Location: ../views/users/User_view.php");
} else {
$loginUrl = $helper->getLoginUrl();
header("Location: ".$loginUrl);
}
在Facebook开发者网站上,我将所有内容都链接正确(我认为)。 我希望你们可以帮助我。
答案 0 :(得分:0)
永远不会看到错误消息。但我测试了代码并看到facebook重定向到正确的url(虽然我的计算机中不存在),所以问题应该由codeigniter url重定向机制引起。