코드 서명자 3의 Facebook Auth에 문제가 있습니다.페이스 북 로그인을 누를 때마다 페이스 북으로 리디렉션되어 권한을 요청하고 den은 링크에 코드를 반환하고 내 프로파일 페이지로 리디렉션하지 않습니다. 다음은 아래 Facebook 인증 로그인 문제
<?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');
}
}
가 config.php를 내 페이스 북 파일 내 컨트롤러
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| Facebook App details
| -------------------------------------------------------------------
|
| To get an facebook app details you have to be a registered developer
| at http://developer.facebook.com and create an app for your project.
|
| facebook_app_id string Your facebook app ID.
| facebook_app_secret string Your facebook app secret.
| facebook_login_type string Set login type. (web, js, canvas)
| facebook_login_redirect_url string URL tor redirect back to after login. Do not include domain.
| facebook_logout_redirect_url string URL tor redirect back to after login. Do not include domain.
| facebook_permissions array The permissions you need.
| facebook_graph_version string Set Facebook Graph version to be used. Eg v2.6
| facebook_auth_on_load boolean Set to TRUE to have the library to check for valid access token on every page load.
*/
$config['facebook_app_id'] = '******';
$config['facebook_app_secret'] = '*****';
$config['facebook_login_type'] = 'web';
$config['facebook_login_redirect_url'] = 'user_authentication';
$config['facebook_logout_redirect_url'] = 'user_authentication/logout';
$config['facebook_permissions'] = array('email');
$config['facebook_graph_version'] = 'v2.6';
$config['facebook_auth_on_load'] = TRUE;
내보기 파일
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login with Facebook in CodeIgniter by CodexWorld</title>
<style type="text/css">
h1{
font-family:Arial, Helvetica, sans-serif;
color:#999999;
}
.wrapper{width:600px; margin-left:auto;margin-right:auto;}
.welcome_txt{
margin: 20px;
background-color: #EBEBEB;
padding: 10px;
border: #D6D6D6 solid 1px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
}
.fb_box{
margin: 20px;
background-color: #FFF0DD;
padding: 10px;
border: #F7CFCF solid 1px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
}
.fb_box .image{ text-align:center;}
</style>
</head>
<body>
<?php
if(!empty($authUrl)) {
echo '<a href="'.$authUrl.'"><img src="'.base_url().'assets/images/flogin.png" alt=""/></a>';
}else{
?>
<div class="wrapper">
<h1>Facebook Profile Details </h1>
<div class="welcome_txt">Welcome <b><?php echo $userData['first_name']; ?></b></div>
<div class="fb_box">
<p class="image"><img src="<?php echo $userData['picture_url']; ?>" alt="" width="300" height="220"/></p>
<p><b>Facebook ID : </b><?php echo $userData['oauth_uid']; ?></p>
<p><b>Name : </b><?php echo $userData['first_name'].' '.$userData['last_name']; ?></p>
<p><b>Email : </b><?php echo $userData['email']; ?></p>
<p><b>Gender : </b><?php echo $userData['gender']; ?></p>
<p><b>Locale : </b><?php echo $userData['locale']; ?></p>
<p><b>You are login with : </b>Facebook</p>
<p><a href="<?php echo $userData['profile_url']; ?>" target="_blank">Click to Visit Facebook Page</a></p>
<p><b>Logout from <a href="<?php echo $logoutUrl; ?>">Facebook</a></b></p>
</div>
</div>
<?php } ?>
</body>
</html>
이 권한과 던져 요청 로그인을 내가 페이스 북에 대한 누를 때마다 다시 링크 모음에 코드가있는 동일한 페이지에 있습니다. 로그인
http://localhost/bird_eye_api/user_authentication
콜백 URL에 문제
http://localhost/bird_eye_api/user_authentication?code=AQBWssEFr4IVgC9gMBX3QUR_v7bSWU2F2Lj59-u89tRdSJTuinJNN3f9EC35F1yR8uWMeMq4JvQRlDk982sddLz5jJymqhh537WlyGYNv8mHnpIW3qhggSKwm3AEGiujf9jtD54FJGzM5OzAY-QF1GTnmHa3EiO_ZsF-iQKqlLYv3NfCd30U2004Dbw6OsYLFPLsuRFpgEkA3J2XTxPpWHPVhX2TDGEFU72qXqTcuaYWCrrOFvZBCbwVziXL9Run13W8ZBZ84rOjJKar-Pwh9v4pztJ0OG3SYLsK3OiTZoMGjQ8Gcb_dohJ0d5b5383lUdk&state=663d1106ff10826c01b08c4f1d1933d8#_=_
로그인
후 전?
페이스 북의 응용 프로그램 설정에 콜백 URL을 추가하려고 시도 했습니까? –
아니요! 나는 어떻게 해야할지 말해 줄까? –