refreshAccessToken method

Future<OAuthToken> refreshAccessToken(
  1. OAuthToken oldToken, {
  2. String? redirectUri,
  3. String? clientId,
})

Issues a new access token from the given refresh token.

Refresh tokens are usually retrieved from TokenManager.

Implementation

Future<OAuthToken> refreshAccessToken(OAuthToken oldToken,
    {String? redirectUri, String? clientId}) async {
  final data = {
    "refresh_token": oldToken.refreshToken,
    "grant_type": "refresh_token",
    "client_id": clientId ?? KakaoContext.platformClientId,
    "redirect_uri": redirectUri ?? await _platformRedirectUri(),
    ...await _platformData()
  };
  final newToken = await _issueAccessToken(data, oldToken: oldToken);
  await _tokenManagerProvider.manager.setToken(newToken);
  return newToken;
}