Я использую Googleapis_auth
для доступа к некоторым Google API
, я храню учетные данные в локальном хранилище, чтобы я мог получить доступ к этому API позже, но он истекает через один час как чтение.
Я хочу получить новый токен доступа после истечения срока действия первого с использованием сохраненных учетных данных refreshToken
, но я не знаю, как это сделать.
Это код, который я использую для получения учетных данных пользователя:
var authClient = await clientViaUserConsent(
ClientId(_clientId, _clientSecret),
_scopes,
(url) { launch(url);}
);
//Save Credentials
await storage.saveCredentials(authClient.credentials.accessToken,
authClient.credentials.refreshToken);
return authClient;
И вот как я использую сохраненные учетные данные:
return authenticatedClient(
http.Client(),
AccessCredentials(
AccessToken(credentials["type"], credentials["data"],
DateTime.tryParse(credentials["expiry"])),
credentials["refreshToken"],
_scopes)
);
Но, как я сказал выше, когда срок действия учетных данных истекает, я понятия не имею, как я использую refreshToken
, чтобы получить новый токен доступа.