Apply from-URL credentials in authentication middleware #2449
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Right now, the middleware doesn't apply credentials that were originally sourced from a URL. This requires that we call
with_url_encoded_auth
whenever we create a request to ensure that any credentials that were passed in as part of an index URL (for example) are respected.This PR modifies
uv-auth
to instead apply those credentials in the middleware itself. This seems preferable to me. As far as I can tell, we can only add in-URL credentials to the store ourselves (since in-URL credentials are converted to headers by the time they reach the middleware). And if we ever didn't apply those credentials to new URLs, it'd be a bug in the logic that precedes the middleware (i.e., us forgetting to callwith_url_encoded_auth
).Test Plan
cargo run pip install
with an authenticated index.