1
이것은 내 컨트롤러이며 정상적으로 작동합니다. 크로스 사이트 요청 위조 검증에 실패했습니다 Codeigniter를 사용하여 Facebook 로그인 하시겠습니까?
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->library('session');
}
function index(){
$this->load->view("welcome_message");
}
function fblogin(){
$fb = new Facebook\Facebook([
'app_id' => '213234637467346734',
'app_secret' => '7346762476374673647',
'default_graph_version' => 'v2.8',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email','user_location','user_birthday','publish_actions'];
// For more permissions like user location etc you need to send your application for review
$loginUrl = $helper->getLoginUrl('http://localhost/facebooklogin/welcome/fbcallback', $permissions);
header("location: ".$loginUrl);
}
function fbcallback(){
$fb = new Facebook\Facebook([
'app_id' => '1767865763452676',
'app_secret' => '2454f5b88ea788b407297f39400b796b',
'default_graph_version' => 'v2.5',
]);
$helper = $fb->getRedirectLoginHelper();
$this->session->set_userdata('state',$_GET['state']);
try {
$accessToken = $helper->getAccessToken();
}catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
try {
// Get the Facebook\GraphNodes\GraphUser object for the current user.
// If you provided a 'default_access_token', the '{access-token}' is optional.
$response = $fb->get('/me?fields=id,name,email,first_name,last_name,birthday,location,gender', $accessToken);
// print_r($response);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'ERROR: Graph ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'ERROR: validation fails ' . $e->getMessage();
exit;
}
// User Information Retrieval begins................................................
$data['me'] = $response->getGraphUser();
$data['accessToken'] =$accessToken;
$this->load->view("home",$data);
}
}
나는 그것의 나에게 페이스 북 SDK에서 오류를 반환이 오류를 줄이 홈 페이지를 새로 고침
. 필수 매개 변수 "상태"가 영구 데이터에서 누락되었습니다. 여기 나는 나 또한 내가 문제 야 그냥 내가 액세스 토큰을 얻을 try 블록에 코드를 추가 해결이