oxidecomputer / oxidecomputer/omicron

"unauthorized" test should support more-public endpoints

Open
#1,277 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.