Fix handling of redirects with authentication#9443
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #9443 +/- ##
=======================================
Coverage 98.59% 98.59%
=======================================
Files 105 105
Lines 35104 35128 +24
Branches 4178 4180 +2
=======================================
+ Hits 34612 34636 +24
Misses 329 329
Partials 163 163
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
9b8f85d to
f21bc20
Compare
f21bc20 to
b03ff80
Compare
b03ff80 to
549279a
Compare
386ff99 to
fcf5292
Compare
|
@webknjaz Is anything still required on my end to get this merged? |
webknjaz
left a comment
There was a problem hiding this comment.
Is anything still required on my end to get this merged?
All's good on my side. It'd be nice to have a docstring in the test function, but that's minor. I'll let somebody else merge, though.
fcf5292 to
6e73a2f
Compare
6e73a2f to
be3fea9
Compare
|
That proxy test is flakey. I restarted the CI. I'm just about to walk out the door though so will check it when I get back home |
|
If everything passes, I'll throw it on production and make sure there aren't any unexpected side effects as soon as I have some spare cycles |
be3fea9 to
b6b3e82
Compare
|
Testing this now |
|
note for the future |
bdraco
left a comment
There was a problem hiding this comment.
No unexpected side effects observed, however production has very limited use of auth, but enough that I feel comfortable it won't break most use cases.
|
Thanks @PLPeeters |
Backport to 3.10: 💔 cherry-picking failed — conflicts found❌ Failed to cleanly apply 06b2398 on top of patchback/backports/3.10/06b23989d9a80da93eddf285960e00a01b078151/pr-9443 Backporting merged PR #9443 into master
🤖 @patchback |
Backport to 3.11: 💔 cherry-picking failed — conflicts found❌ Failed to cleanly apply 06b2398 on top of patchback/backports/3.11/06b23989d9a80da93eddf285960e00a01b078151/pr-9443 Backporting merged PR #9443 into master
🤖 @patchback |
Co-authored-by: Pierre-Louis Peeters <[email protected]> (cherry picked from commit 06b2398)
Co-authored-by: Pierre-Louis Peeters <[email protected]> (cherry picked from commit 06b2398)
…entication (#9570) Co-authored-by: Pierre-Louis Peeters <[email protected]> Co-authored-by: Pierre-Louis Peeters <[email protected]>
…entication (#9571) Co-authored-by: Pierre-Louis Peeters <[email protected]> Co-authored-by: Pierre-Louis Peeters <[email protected]>
What do these changes do?
They make the client ignore auth clashes that are solely due to redirects, in addition to having redirect authentication take precedence over previously set authentication.
Are there changes in behavior for the user?
Users will no longer get a
ValueErrorif a website suddenly includes multiple authenticated URLs in its redirect chain (see #9436 for an example).While writing the test, I also wondered what should happen if we already have authentication set and get new authentication in a redirect URL. Mimicking what Chrome seems to be doing in this case, I opted to supersede the auth with that of the redirect. We can of course discuss this and tweak it if needed. I'm also on the fence on whether this warrants a separate PR, so I bundled it for now.
Is it a substantial burden for the maintainers to support this?
Probably not.
Related issue number
Fixes #9436
Checklist
CONTRIBUTORS.txtCHANGES/foldername it
<issue_or_pr_num>.<type>.rst(e.g.588.bugfix.rst)if you don't have an issue number, change it to the pull request
number after creating the PR
.bugfix: A bug fix for something the maintainers deemed animproper undesired behavior that got corrected to match
pre-agreed expectations.
.feature: A new behavior, public APIs. That sort of stuff..deprecation: A declaration of future API removals and breakingchanges in behavior.
.breaking: When something public is removed in a breaking way.Could be deprecated in an earlier release.
.doc: Notable updates to the documentation structure or buildprocess.
.packaging: Notes for downstreams about unobvious side effectsand tooling. Changes in the test invocation considerations and
runtime assumptions.
.contrib: Stuff that affects the contributor experience. e.g.Running tests, building the docs, setting up the development
environment.
.misc: Changes that are hard to assign to any of the abovecategories.
Make sure to use full sentences with correct case and punctuation,
for example:
Use the past tense or the present tense a non-imperative mood,
referring to what's changed compared to the last released version
of this project.