Dear Devs,
I have a problem with using previewers on our production dataverse (https @v6.4).
On our test environment (http @v6.4 ) they run without problems (at least if I ignore mixed content or using local hosted previewers).
The problem on our production dataverse is that i get a 401 response when the tool parameters are requested:
https://prod.url.de/api/v1/files/103/metadata/96/toolparams/4?until=2025-02-07T11:45:52.365&user=privilegedUser&method=GET&token=db1395680...
--> Status 401: {"status":"ERROR","message":"Bad signed URL"}
Here is what i have checked so far:
- The previous request with callback (
https://gdcc.github.io/dataverse-previewers/previewers/v1.4/TextPreview.html?callback=aHR0cH ...) is working, also the decoded value (
https://prod.url.de/api/v1/files... ) is correct.
- The files from
github.io has been loaded and cors on our minio is enabled. Also i have testet local previewer without success, so cors is devinitv not the cause of the problem.
- The users api key is refreshed (if this is relevant at all), browser cache data is cleared.
- request does not exceed the 5 min
- if I remove the parameters (user, token, ..) from the toolparams request, I get an result (200) with signedUrls of the allowed api calls (without a token parameter). As long as I am logged in, they are also working (because of the sessionid, or?).
--> Therefore, I think that the token does not work with the given adress
What could be the cause of the 401 error on the productions environment?
To describe the circumstances, I will mention the similarities and differences between prod and test, which may be relevant:
Similarities:
- both use direct upload and indirect download (direct download = false) with minio, which also works so far with webuploader
- both are connected to datacite, test-account and prod-account are working (looking at datcite fabrica)
- both are not online (atm), only accessible on local network
Differences:
- prod runs on https and test runs on http
- one minio https instance for prod and one minio http instance for test
- prod root-collection and sub-collection are not published
What might be worth mentioning is that we changed dataverse.fqdn and dataverse.siteUrl on the prod environment before creating datesets:
previously:
dataverse.fqdn = prod.
old.
url.dedataverse.siteUrl = http://${dataverse.fqdn}:8080
changed to:
dataverse.fqdn =
prod.url.dedataverse.siteUrl = http
s://${dataverse.fqdn}
I would be grateful if you have any tips on what I could check to get to the root of the problem.
thx, martin