안녕하세요 문제가 구글/apiclient에게catch되지 않은 예외 메시지 '중포 기지 JWT BeforeValidException은'토큰 이전 2016-11-03T21을 처리 할 수 없습니다 : 37 : + 0100 13 '
Fatal error: Uncaught exception 'Firebase\JWT\BeforeValidException' with message 'Cannot handle token prior to 2016-11-03T21:37:13+0100' in C:\xampp\htdocs\Google\vendor\firebase\php-jwt\src\JWT.php:124 Stack trace: #0 C:\xampp\htdocs\Google\vendor\google\apiclient\src\Google\AccessToken\Verify.php(100): Firebase\JWT\JWT::decode('eyJhbGciOiJSUzI...', '-----BEGIN PUBL...', Array) #1 C:\xampp\htdocs\Google\vendor\google\apiclient\src\Google\Client.php(705): Google_AccessToken_Verify->verifyIdToken('eyJhbGciOiJSUzI...', '474251646530-0t...') #2 C:\xampp\htdocs\Google\app\class\google_auth.php(51): Google_Client->verifyIdToken() #3 C:\xampp\htdocs\Google\app\class\google_auth.php(35): GoogleAuth->getPayLoad() #4 C:\xampp\htdocs\Google\index.php(10): GoogleAuth->checkRedirectCode() #5 {main} thrown in C:\xampp\htdocs\Google\vendor\firebase\php-jwt\src\JWT.php on line 124
를 사용하려고해야 내 인덱스 :
<?php
require_once('app/ini.php');
require_once('vendor/autoload.php');
require_once('app/class/google_auth.php');
$googleClient = new Google_Client();
$auth = new GoogleAuth($googleClient);
if ($auth->checkRedirectCode()) {
header("Location: index.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php if (!$auth->isLoggedIn()): //Verificar Inicio de Sesion ?>
<a href="<?php echo $auth->getAuthUrl(); ?>">Inicie Sesion con Google</a>
<?php else: //Si no ha iniciado Sesion ?>
Bienvenido.. <a href="logout.php">Cerrar Sesion</a>
<?php endif; ?>
</body>
</html>
클래스 GoogleAuth :
<?php
class GoogleAuth{//Clase para la autenticacion del usuario google
protected $client;//Variable de cliente
public function __construct(Google_Client $googleClient = null){
$this->client = $googleClient;
if ($this->client) {
$this->client->setClientId('474251646530-0tiho0cbf4dusercontent.com');//Usuario Auth Google
$this->client->setClientSecret('bMuLusxvnvPg2zRz');//Clave Auth Google
$this->client->setRedirectUri('http://localhost/Google/index.php');
$this->client->setScopes('email');
}
}
public function isLoggedIn(){//Metodo que devuelve el estatus de la Sesion con Google (true o false)
return isset($_SESSION['access_token']);
}
public function getAuthUrl(){//Funcion que devuelve el enlace requerido para iniciar sesion
return $this->client->createAuthUrl();
}
public function checkRedirectCode(){
if (isset($_GET['code'])) {
$this->client->authenticate($_GET['code']);
$this->setToken($this->client->getAccessToken());
$payload=$this->getPayLoad();
echo "<pre>", print_r($payload) ,"<pre>";
return true;
}
return false;
}
public function setToken($token){
$_SESSION['access_token']=$token;
$this->client->setAccessToken($token);
}
public function logout(){
unset($_SESSION['access_token']);
}
public function getPayLoad(){
$payload=$this->client->verifyIdToken()->getAttributes();
return $payload;
}
}
?>
은 저에게
를 도와주세요 이 함수 내부 691,363,210
지금은이 오류를 치명적인 오류가 : C에서 부울에 멤버 함수 getAttributes()로 전화 : \ XAMPP \ htdocs를 \ 구글 \ 동일한 코드 –