refreshToken method

Future<TokenResponse?> refreshToken()

Refreshes the access token

Implementation

Future<TokenResponse?> refreshToken() async {
  if (_currentTokens?.refreshToken == null) {
    return null;
  }

  try {
    final newTokens = await _refreshAccessToken(_currentTokens!.refreshToken);
    await _storeTokens(newTokens);
    _currentTokens = newTokens;
    return newTokens;
  } catch (e) {
    // If refresh fails, clear tokens
    await logout();
    return null;
  }
}