Библиотека Flutter google_sign_in не возвращает токен обновления
Мы управляем календарем Google пользователя с помощью API календаря Google на сервере. Итак, мы получаем токен доступа пользователя к Google с помощью библиотеки flutter .
_googleSignIn.signIn().then((result) {
result!.authentication.then((googleKey) {
print(googleKey.accessToken);
print(googleKey.idToken);
})
})
Он возвращает accessToken и idToken. Но срок действия этого токена доступа истекает через 1 час. Нам нужен этот токен доступа на нашем сервере для управления календарем пользователя.
Поэтому нам нужен токен обновления, чтобы получить новый токен доступа после истечения срока его действия.
google_sign_inНо решения для получения токена обновления из библиотеки google_sign_in не найдено .
Связанные обсуждения
(1) Существует один подход к автоматическому входу в систему каждый раз, когда пользователь открывает приложение, но в нашем случае это невозможно. Потому что у нас будет какое-то запланированное действие календаря на сервере, и мы не можем ожидать, что пользователь будет открывать приложение каждый час.
(2) В этом документе Google Использование OAuth 2.0 для доступа к API Google упоминается, что с помощью токена обновления мы можем получить новый токен доступа. Но из приложения флаттера мы не смогли найти никаких способов получить токен обновления.
(3) Некоторые проблемы GitHub, подобные этой, обсуждаются, но, похоже, нет ничего полезного в получении токена обновления из приложения флаттера.
Так что будет здорово, если кто-то предложит способ получить токен обновления из приложения флаттера или любые другие возможные обходные пути для этой ситуации.