2015-01-21 3 views
0

Для начала я использую код Google OAuth 2.0 с этого сайта https://github.com/google/google-api-php-clientGoogle OAuth 2.0 Токен Expire Время

Мне нужно узнать, где в этом каталоге OAuth маркер истекает и журналы вас. У меня возникают проблемы с токеном обновления, и обычно токен истекает через 1 час и выдает мне ошибку, но я не могу ждать 1 час каждый раз, когда я делаю изменения, чтобы увидеть, работает ли код или нет. Я изменил некоторые настройки времени в коде как 10 или 60 секунд, но они ничего не делают. Пожалуйста, дайте мне знать, какой файл и где я могу изменить время, в течение которого токен истекает и выйдет из системы зарегистрированный пользователь.

Спасибо,

Я добавил следующий код, потому что проблема здесь, что-то с этим получить функции не обновляя/с помощью обновления маркеров. Как я могу написать этот код лучше.

$service = new Google_Service_Oauth2 ($client); 

if ($client->getAccessToken()) { 
//For logged in user, get details from google using access token 
$user   = $service->userinfo->get(); 
$user_id   = filter_var($user['id'],FILTER_SANITIZE_SPECIAL_CHARS); 
$user_name   = filter_var($user['name'], FILTER_SANITIZE_SPECIAL_CHARS); 
$first_name   = filter_var($user['given_name'], FILTER_SANITIZE_SPECIAL_CHARS); 
$last_name   = filter_var($user['family_name'], FILTER_SANITIZE_SPECIAL_CHARS); 
$email   = filter_var($user['email'], FILTER_SANITIZE_EMAIL); 
//$profile_url  = filter_var($user['link'], FILTER_VALIDATE_URL); 
$profile_image_url  = filter_var($user['picture'], FILTER_VALIDATE_URL); 
$gender   = filter_var($user['gender'], FILTER_SANITIZE_SPECIAL_CHARS); 
//$personMarkup   = "$email<div><img src='$profile_image_url?sz=50'></div>"; 
$_SESSION['upload_token'] = $client->getAccessToken();} 

ответ

1

Невозможно изменить срок годности токена доступа Google. Однако метод Google_Client::isAccessTokenExpired() вернет true, если токен истек или истекает через 30 секунд. В вашем коде не должно быть необходимости обновлять токен только после его отказа, но может проверить, истек ли токен доступа до, он будет вызывать любой метод с помощью этого конкретного токена доступа.

Там еще край так, что остается: вы можете имитировать, что вручную отменив маркер доступа (вне зоны вашего приложения) с помощью:

curl https://accounts.google.com/o/oauth2/revoke?token=<access_token> 

, а затем запустить/проверить свой код, который до сих пор удерживается на токере доступа. Код ошибки при доступе одинаковый для отозванного или истекшего («invalid_token»), и обработка в любом случае одинакова.

Смежные вопросы