oxidecomputer / oxidecomputer/omicron
"unauthorized" test should support more-public endpoints
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
Several endpoints are in the list of endpoints uncovered by the authz test because they're essentially public -- all authenticated users can access them. This includes the ssh key endpoints and after #1261 it will include the endpoint to list users in the Silo. We could augment the "unauthorized" test to better support these: it would still verify that unauthorized users get a 401, and it could verify that authenticated users get a 200. It's tempting to have it check that all authorized users get the same result, but that won't be true for things like the ssh keys endpoint because they'll have different keys (with different ids if nothing else).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing "unauthorized" authz test and its endpoint list. Extend its cases for endpoints accessible to authenticated users, keeping the unauthenticated 401 check and adding an authenticated 200 check without requiring identical responses; the test should cover public endpoints such as SSH key endpoints and the Silo user-list endpoint.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, security
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100