Я создал логин в Google, используя CodeIgniter, который работает нормально. Когда я нажимаю кнопку Google image
, после ввода всех данных я попадаю на страницу входа в систему, после чего нажимаю кнопку «Далее», после чего меня выводят из логина Google на мой веб-сайт иURL выглядит как
https://example.com/google_login?code=4/lQDGQ6sJog3ZrLKGJtn-VVD3rbzgJl16jMLUrk6wzBIbsu-F6mjlLuPOepeobDLmFYqQL25jo4iAgI9ZnVKTSVY&scope=email%20profile%20https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile
, что показывает ошибку 404, но если я удаляю &scope=email%20profile%20https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile
из URL, тогда отображается вся информация о клиентах.
controller.
public function login()
{
$userData = array();
if($this->facebook->is_authenticated()){
$fbUserProfile = $this->facebook->request('get', '/me?fields=id,first_name,last_name,email,picture');
$userData['oauth_provider'] = 'facebook';
$userData['oauth_uid'] = $fbUserProfile['id'];
$userData['name'] = $fbUserProfile['first_name']." ".$fbUserProfile['last_name'];
$userData['email'] = $fbUserProfile['email'];
$userData['user_image'] = $fbUserProfile['picture']['data']['url'];
$userID = $this->user->checkUser($userData);
if(!empty($userID))
{
$data['userData'] = $userData;
$this->session->set_userdata('userData',$userData);
}
else
{
$data['userData'] = array();
}
$data['logoutURL'] = $this->facebook->logout_url();
}
else
{
$data['authURL'] = $this->facebook->login_url();
}
$data['loginURL'] = $this->google->loginURL();
$this->load->view('login',$data);
}
public function google_login()
{
if($this->session->userdata('loggedIn') == true){
redirect('profile');
}
if(isset($_GET['code'])){
if($this->google->getAuthenticate()){
$gpInfo = $this->google->getUserInfo();
$userData['oauth_provider'] = 'google';
$userData['oauth_uid'] = $gpInfo['id'];
$userData['name'] = $gpInfo['given_name'].' '.$gpInfo['family_name'];
$userData['email'] = $gpInfo['email'];
$userData['user_image'] = !empty($gpInfo['picture'])?$gpInfo['picture']:'';
$userID = $this->Google_user->checkUser($userData);
$this->session->set_userdata('loggedIn', true);
$this->session->set_userdata('userData', $userData);
redirect('profile');
}
}
}
view: login.php
<a href="<?php echo $loginURL; ?>" class="google btn-block"><i class="fa fa-google-plus"></i></a>
config / route.php
$route['google_login'] = "welcome/google_login";
config / google.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
$config['google']['client_id'] = '**********************************************';
$config['google']['client_secret'] = '************************';
$config['google']['redirect_uri'] = 'https://example.com/google_login';
$config['google']['application_name'] = 'Login to Example';
$config['google']['api_key'] = '';
$config['google']['scopes'] = array();
Итак, как мне исправитьЭта проблема?Пожалуйста, помогите мне.
Спасибо