Как проверить срок действия токена Google+ API на стороне сервера с помощью клиентской библиотеки Java

Я разрабатываю приложение на Google AppEngine и использую Google+ SignIn с методом потока на стороне сервера, как описано в документации здесь.
Я могу получить токен, как указано выше, и сохранить его в session.
Однако я хочу проверить при входе в систему, если токен < strong>действителен или срок его действия истек. Как это сделать?
Примечание. Я использую клиентские библиотеки Google API для java.


person Vikas Raturi    schedule 10.11.2013    source источник


Ответы (2)


Вы можете вызвать метод API tokeninfo, чтобы получить информацию о токене, в том числе о том, сколько времени до истечения срока его действия (если ‹ 0, срок действия токена истек)

https://developers.google.com/resources/api-libraries/documentation/oauth2/v2/java/latest/com/google/api/services/oauth2/model/Tokeninfo.html

person Jason Hall    schedule 10.11.2013

В дополнение к ответу Джейсона:

Вы также можете оценить, годен ли токен, установив другой файл cookie сеанса с отметкой времени, когда вы приобрели токен. Они истекают примерно каждый час (есть некоторая вариабельность).

Поскольку для конечной точки tokeninfo требуется запрос, вы также можете не обращаться к конечной точке tokeninfo, если у вас нет других причин, таких как необходимость проверки того, что токен соответствует приложению и пользователю, и просто делать обычные запросы, пока они не получат ошибку неверного запроса. Когда вы получите эту попытку обновить свой токен.

person BrettJ    schedule 11.11.2013