Я успешно реализовал вход в Google.
Я могу аутентифицировать пользователя и в ответ получаю токен. Однако срок действия токена истекает через 1 час.
expires_in: "3600"
Я пытался искать в документах - https://developers.google.com/identity/sign-in/web/reference, но не может найти параметр для продления срока службы токена.
Что я на самом деле пытаюсь сделать?
https://developers.google.com/identity/sign-in/web/backend-auth
после того, как пользователь успешно войдет в систему, отправьте токен идентификатора пользователя на ваш сервер с помощью HTTPS.
Я отправляю токен с каждым запросом на сервер:
endpoint/get?access_token=" + access_token
А то на сервер звоню https://www.googleapis.com/oauth2/v3/tokeninfo
Итак, у меня есть токен, каждый запрос аутентифицируется, но после 1 часа работы метод tokeninfo
возвращает false и мне нужно повторно аутентифицировать пользователя.
В своем коде я обошел это, сохранив все исторические access_tokens
, и если клиент использует старый токен, я проверяю исторические данные и вручную выдаю новый токен, используя refresh_token
(одно из моих разрешений — предоставить автономный доступ)
Так что да, мне было бы очень интересно узнать:
- Как увеличить срок службы
access_token
?
OR
- Учитывая ограниченный срок службы, как обеспечить аутентификацию запросов на серверной части?