refreshToken method
- {OAuthToken? oldToken,
- String? redirectUri,
- String? appKey}
기존 토큰(oldToken
)을 갱신합니다.
Implementation
Future<OAuthToken> refreshToken({
OAuthToken? oldToken,
String? redirectUri,
String? appKey,
}) async {
var token = oldToken ?? await _tokenManagerProvider.manager.getToken();
if (token == null || token.refreshToken == null) {
throw KakaoClientException(
ClientErrorCause.tokenNotFound,
'Refresh token not found. You must login first.',
);
}
final data = {
Constants.refreshToken: token.refreshToken,
Constants.grantType: Constants.refreshToken,
Constants.clientId: appKey ?? KakaoSdk.appKey,
Constants.redirectUri: redirectUri ?? await _platformRedirectUri(),
...await _platformData()
};
final newToken = await _issueAccessToken(data, oldToken: oldToken);
await _tokenManagerProvider.manager.setToken(newToken);
return newToken;
}