refreshToken method
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;
}
}