aio-libs / aio-libs/aiohttp

Warn the user when Authorization header is dropped from the request

Open
#9,694 10 comments 0 reactions 0 assignees View on GitHub
enhancement reproducer: missing
Dominant language
Python
Stars
16.5k
Forks
2.4k
Avg merge
17h 22m
Merged PRs (30d)
212

Description

### Is your feature request related to a problem?

As per the documentation -
```
Authorization header will be removed if you get redirected to a different host or protocol.
```
However this happens silently and can lead to confusion for the programmer.

### Describe the solution you'd like

The library should throw a warning letting the user know that the header has been dropped.
I went through the code and it seems the change below should be sufficient -
```diff
diff --git a/aiohttp/client.py b/aiohttp/client.py
index dc1ab674..8154b11f 100644
--- a/aiohttp/client.py
+++ b/aiohttp/client.py
@@ -756,7 +756,13 @@ class ClientSession:
and url.origin() != redirect_origin
):
auth = None
- headers.pop(hdrs.AUTHORIZATION, None)
+ auth_header = headers.pop(hdrs.AUTHORIZATION, None)
+ if auth_header:
+ warnings.warn(
+ message = "Authorization header has been removed from the request",
+ category = RuntimeWarning,
+ source = self,
+ )

url = parsed_redirect_url
```

### Describe alternatives you've considered

-

### Related component

Client

### Additional context

_No response_

### Code of Conduct

- [X] I agree to follow the aio-libs Code of Conduct

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.