Google OAuth2 – isAccessTokenExpired () всегда верно

Я использую OAuth в своем приложении, и я хочу выйти из системы, когда токен доступа истек.

Но когда я проверил истечение срока действия токена с помощью

$client->isAccessTokenExpired() 

Он всегда возвращает 1.

 if (isset($_GET['logout'])) { unset($_SESSION['token']); } if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['token'] = $client->getAccessToken(); $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL)); } if (!isset($_SESSION['token'])) { $authUrl = $client->createAuthUrl(); } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); $service = new Google_Service_Calendar($client); $oauth2 = new Google_Service_Oauth2($client); $userinfo = $oauth2->userinfo->get(); $emailUser = $userinfo->getEmail(); $_SESSION['emailUser'] = $userinfo->getEmail(); } с if (isset($_GET['logout'])) { unset($_SESSION['token']); } if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['token'] = $client->getAccessToken(); $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL)); } if (!isset($_SESSION['token'])) { $authUrl = $client->createAuthUrl(); } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); $service = new Google_Service_Calendar($client); $oauth2 = new Google_Service_Oauth2($client); $userinfo = $oauth2->userinfo->get(); $emailUser = $userinfo->getEmail(); $_SESSION['emailUser'] = $userinfo->getEmail(); } 

Related of "Google OAuth2 – isAccessTokenExpired () всегда верно"

Вероятно, вы проверяете истечение срока действия перед запуском $client->setAccessToken(); , Посмотрим код, в котором вы проверяете истечение срока действия.

Не всегда верно. Я сделал точно в правильных порядках, и 1 / isAccessTokenExpired () всегда TRUE 2 / i получает access_token, refresh_token, expires_in, но я никогда не получаю созданные. Это созданное используется в isAccessTokenExpired ()