执行以下代码时不显示同意页面

时间:2016-03-17 12:00:09

标签: php google-oauth

执行以下代码时,它没有询问"允许" /"拒绝"选项(同意页面)。如果我使用gmail id登录,它将直接输入并显示用户信息。我不知道我想在此代码中做什么,以显示允许或拒绝谷歌同意页面。

如果我发表评论" $ client-> setHttpClient(new GuzzleHttp \ Client([' verify' => false]))"这段代码,致命错误:未捕获异常' GuzzleHttp \ Exception \ RequestException'消息' cURL错误60:SSL证书问题:无法获取本地颁发者证书错误被抛出。任何人都可以帮助我吗?

<?php

    require_once __DIR__.'/google-api-php-client-master/vendor/autoload.php';
    const CLIENT_ID='';
    const CLIENT_SECRET='';
    const REDIRECT_URI ='http://localhost:81/oauth/';
    const SAMPLE_API_KEY='';
    session_start();

    $client=new Google_Client();
    $client->setClientId(CLIENT_ID);
    $client->setClientSecret(CLIENT_SECRET);
    $client->setRedirectUri(REDIRECT_URI);
    $client->setDeveloperKey(SAMPLE_API_KEY);
    $client->addScope("https://www.googleapis.com/auth/userinfo.email");

    $client->setHttpClient(new GuzzleHttp\Client(['verify'=>false]));



    $plus=new Google_Service_Plus($client);


    if(isset($_REQUEST['logout']))
    {
        session_unset();
        unset($_SESSION['access_token']);
        //$client->revokeToken($_SESSION['access_token']);
    }

    if(isset($_GET['code']))
    {
        $client->authenticate($_GET['code']);
        $_SESSION['access_token']=$client->getAccessToken();
        $redirect='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
        header('Location:'.filter_var($redirect,FILTER_SANITIZE_URL));
    }

    if(isset($_SESSION['access_token'])&&$_SESSION['access_token'])
    {
        $client->setAccessToken($_SESSION['access_token']);
        $me=$plus->people->get('me');

        $id=$me['id'];
        $name=$me['displayName'];
        $email=$me['emails'][0]['value'];
        $profile_image_url=$me['image']['url'];
        $cover_image_url=$me['cover']['coverPhoto']['url'];
        $profile_url=$me['url'];
    }

    else
    {
        $authUrl=$client->createAuthUrl();
    }
    ?>

    <div>
        <?php

            if(isset($authUrl)){

                echo "<a href='".$authUrl."'><button>Login</button></a>";            
            }
            else
            {
                print "Id:  {$id} <br>";
                print "Name : {$name} <br>";
                print "Email : {$email} <br>";

                echo "<a href='?logout'><button>Logout</button></a>";
            }
         ?>
    </div>

0 个答案:

没有答案