我在codeigniter中使用facebook登录,当我运行localhost项目时工作正常但是当我在我的服务器上传文件时它无法正常工作。我从Facebook开发者处更改了我的站点URL和域名,但仍面临问题。 我从谷歌发现了很多文章,但没有解决它。
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class User_Authentication extends CI_Controller
{
function __construct() {
parent::__construct();
// Load facebook library
$this->load->library('facebook');
//Load user model
$this->load->model('user');
}
public function index(){
$userData = array();
// Check if user is logged in
if($this->facebook->is_authenticated()){
// Get user facebook profile details
$userProfile = $this->facebook->request('get', '/me?fields=id,first_name,last_name,email,gender,locale,picture');
// Preparing data for database insertion
$userData['oauth_provider'] = 'facebook';
$userData['oauth_uid'] = $userProfile['id'];
$userData['first_name'] = $userProfile['first_name'];
$userData['last_name'] = $userProfile['last_name'];
$userData['email'] = $userProfile['email'];
$userData['gender'] = $userProfile['gender'];
$userData['locale'] = $userProfile['locale'];
$userData['profile_url'] = 'https://www.facebook.com/'.$userProfile['id'];
$userData['picture_url'] = $userProfile['picture']['data']['url'];
// Insert or update user data
$userID = $this->user->checkUser($userData);
// Check user data insert or update status
if(!empty($userID)){
$data['userData'] = $userData;
$this->session->set_userdata('userData',$userData);
} else {
$data['userData'] = array();
}
// Get logout URL
$data['logoutUrl'] = $this->facebook->logout_url();
}else{
$fbuser = '';
// Get login URL
$data['authUrl'] = $this->facebook->login_url();
}
// Load login & profile view
$this->load->view('user_authentication/index',$data);
}
public function logout() {
// Remove local Facebook session
$this->facebook->destroy_session();
// Remove user data from session
$this->session->unset_userdata('userData');
// Redirect to login page
redirect('user_authentication');
}
}