Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correct /api/roles API to respond with 403 Forbidden (not 401 Unauthorized) when auth is good but no permission #11116

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

pdurbin
Copy link
Member

@pdurbin pdurbin commented Dec 19, 2024

What this PR does / why we need it:

The Show Role API endpoint was returning 401 Unauthorized when a permission check failed. This has been corrected to return 403 Forbidden instead. That is, the API token is known to be good (401 otherwise) but the user lacks permission (403 is now sent). See also the API Changelog.
Which issue(s) this PR closes:

Special notes for your reviewer:

Only the one API endpoint was affected by this change:

Screenshot 2024-12-20 at 2 34 14 PM

I added a test for it.

Also, the "Show Role" code suggests that aliases are supported but they don't seem to work. So when I updated the docs I made sure to use an example with an ID.

Suggestions on how to test this:

Try the "Show Role" API and check if the status code is 403 or 401. See the updated docs for global roles vs roles that are created in a collection. It's a bit confusing, to be honest. 😬

Does this PR introduce a user interface change? If mockups are available, please link/include them here:

No.

Is there a release notes update needed for this change?:

Yes, included.

Additional documentation:

I updated the Show Role docs while I was in there: https://dataverse-guide--11116.org.readthedocs.build/en/11116/api/native-api.html#show-role

@pdurbin pdurbin added Size: 10 A percentage of a sprint. 7 hours. FY25 Sprint 12 FY25 Sprint 12 (2024-12-04 - 2024-12-18) labels Dec 19, 2024
@pdurbin pdurbin self-assigned this Dec 19, 2024
@coveralls
Copy link

coveralls commented Dec 19, 2024

Coverage Status

coverage: 22.691%. remained the same
when pulling 76e27f3 on 10340-forbidden
into 77caada on develop.

This comment has been minimized.

1 similar comment

This comment has been minimized.

This comment has been minimized.

@pdurbin pdurbin changed the title Correct API to respond with 403 Forbidden (not 401 Unauthorized) when auth is good but no permission Correct /api/roles API to respond with 403 Forbidden (not 401 Unauthorized) when auth is good but no permission Dec 20, 2024
@pdurbin pdurbin marked this pull request as ready for review December 20, 2024 19:38
@pdurbin pdurbin removed their assignment Dec 20, 2024
Copy link

📦 Pushed preview images as

ghcr.io/gdcc/dataverse:10340-forbidden
ghcr.io/gdcc/configbaker:10340-forbidden

🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FY25 Sprint 12 FY25 Sprint 12 (2024-12-04 - 2024-12-18) Size: 10 A percentage of a sprint. 7 hours.
Projects
Status: Ready for Review ⏩
Development

Successfully merging this pull request may close these issues.

Incorrect API error response when forbidden
2 participants