diff --git a/lib/galaxy/files/sources/invenio.py b/lib/galaxy/files/sources/invenio.py index 99b64cdf5a4..921438a446b 100644 --- a/lib/galaxy/files/sources/invenio.py +++ b/lib/galaxy/files/sources/invenio.py @@ -15,6 +15,7 @@ from typing_extensions import ( TypedDict, ) +from galaxy.exceptions import AuthenticationRequired from galaxy.files.sources import ( Entry, EntryData, @@ -406,6 +407,9 @@ class InvenioRepositoryInteractor(RDMRepositoryInteractor): return headers def _ensure_response_has_expected_status_code(self, response, expected_status_code: int): + if response.status_code == 403: + record_url = response.url.replace("/api", "").replace("/files", "") + raise AuthenticationRequired(f"Please make sure you have the necessary permissions to access: {record_url}") if response.status_code != expected_status_code: error_message = self._get_response_error_message(response) raise Exception(