【发布时间】:2020-06-20 19:44:52
【问题描述】:
我正在使用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 来获取新的访问令牌。
【问题讨论】:
标签: flutter google-oauth