forceRefreshToken method
inherited
Force refresh the authentication token.
This method forces a token refresh regardless of expiry status. Requires credentials with a valid refresh token.
Throws TokenRefreshError if refresh fails.
Implementation
Future<void> forceRefreshToken() async {
_credentials ??= loadCredentials();
if (_credentials == null) {
throw const TokenRefreshError('No credentials available for refresh');
}
if (_credentials!.refreshToken.isEmpty) {
throw const TokenRefreshError('No refresh token available');
}
final refreshed = await autoRefreshCredentials(_credentials!, forceRefresh: true);
if (refreshed != null) {
_credentials = refreshed;
_token = _envFlag(AuthEnvVars.useControlPlaneToken)
? refreshed.controlPlaneToken ?? refreshed.idToken
: refreshed.idToken;
_tokenSource = 'force-refreshed';
} else {
throw const TokenRefreshError('Token refresh failed');
}
}