Вход в Google в php - PullRequest
       81

Вход в Google в php

1 голос
/ 08 июля 2019

Я пытаюсь войти в систему с помощью Google в моем проекте. Страница входа работает нормально, но когда я пытаюсь получить данные, я получаю эту ошибку. Заранее спасибо.

Я запускаю свой php-код на wampserver. и я кодирую страницу на visual studio. Вы можете увидеть мой код.

// это мой код google_login.php

<?php 
    require_once('config.php');
    if (isset($_GET['code'])) 
    {
        $token = $gClient->fetchAccessTokenWithAuthCode($_GET['code']);
        $_SESSION['access_token'] = $token;
    }
    $oAuth = new Google_Service_Oauth2($gClient);
    $userData = $oAuth->userinfo_v2_me->get();
    echo "<pre>";
    var_dump($userData);
?>

//this is my config.php
<?php 
session_start();
require_once "GoogleAPI/vendor/autoload.php";
$gClient = new Google_Client();
$gClient->setClientId("1049012749051-01hv5pmer43duvcfa7q9872j1jtmp6bi.apps.googleusercontent.com");
$gClient->setClientSecret("LzTnjxrHg5Kl0h7z2MJ0-9Ru");
$gClient->setApplicationName("Anytime Learn");
$gClient->setRedirectUri("http://localhost/atl/google_login.php");
$gClient->addScope("https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email");
?>

(!) Фатальная ошибка: Uncaught GuzzleHttp \ Exception \ RequestException: cURL ошибка 60: проблема с сертификатом SSL: невозможно получить локального издателя сертификат (см. http://curl.haxx.se/libcurl/c/libcurl-errors.html) в C: \ wamp64 \ WWW \ атль \ GoogleAPI \ поставщика \ guzzlehttp \ жрать \ SRC \ Handler \ CurlFactory.php в строке 187 (!) GuzzleHttp \ Exception \ RequestException: ошибка cURL 60: проблема с сертификатом SSL: невозможно получить сертификат локального эмитента (см. http://curl.haxx.se/libcurl/c/libcurl-errors.html) в C: \ wamp64 \ WWW \ атль \ GoogleAPI \ поставщика \ guzzlehttp \ жрать \ SRC \ Handler \ CurlFactory.php на линии 187 Стек вызовов

Расположение функции памяти времени 1 0,0021 406776 {main} () ... \ google_login.php: 0

2 0,0174 424824 Google_Client-> fetchAccessTokenWithAuthCode ( ) ... \ google_login.php: 5 3 0.0320 519024 Google \ Auth \ OAuth2-> fetchAuthToken ( ) ... \ Client.php: 191 4 0.0334 597056 Google \ Auth \ HttpHandler \ Guzzle6HttpHandler -> __ invoke ( ) ... \ OAuth2.php: 492 5 0,0334 597056 GuzzleHttp \ Client-> send ( ) ... \ Guzzle6HttpHandler.php: 34 6 0.1267 636424 GuzzleHttp \ Promise \ RejectedPromise-> wait ( ) ... \ Client.php: 106

1 Ответ

0 голосов
/ 08 июля 2019

Похоже, что возвращение ожидает URL-адрес https, а не http://localhost/atl/google_login.php. Вы должны выполнить локальную работу по https.

вам необходимо загрузить сертификаты, распознаваемые скручиванием: https://curl.haxx.se/ca/cacert.pem

Сохраните файл cert.pem и укажите его в своем php.ini, вы ищете CURLOPT_CAINFO

...