-
Notifications
You must be signed in to change notification settings - Fork 1
Description
For objects that require authorization...
Many DRS implementations do not require authorization for get_object. Authorization is only needed when obtained the url at which to download bytes.
This applies to all the gen3 DRS implementations (crdc, topmed, etc.) and to the NCBI implementation.
The compliance suite appears to apply authentication to the get_objects request i.e. the get /objects/ end point.
The first result set (drs_compliance_report2.txt) shows the test report for the NCBI DRS with "auth_type": "passport"
This fails the "drs object info" phase because authentication is being applied to the request. The server does not expect auth to be passed for this request.
The second result run (drs_compliance_report2.txt) used the same drs ids with with "auth_type": "none"
The responses for the ids pass most tests
(the issue with the NCBI implementation providing self_uri as self_url is a separate issue and will be dealt with by the implementation)
It of course fails the "drs object access" phase with a 401 when it attempts to get the url for the object.
The compliance suite should support applying auth only to the object access phase in such a scenario.
Note that some implementations require auth for both phases. The compliance suite will need to handle both scenarios.
The attached .txt files are json, but the json extension was not supported during file upload to GitHub.