When sending POST request using Python 3.13 with requests v2.32.3 there appear an unexpected Authorization header.
This is not the case with Python 3.10 with the same version of requests lib.
Expected Result
POST request does not get updated with an unexpected Authorization header.
Actual Result
Python 3.13
> ~/tmp/zzz.py 2>&1 | egrep -m 1 "^send: "
send: b'POST /oauth2/v1/device/authorize HTTP/1.1\r\nHost: okta.oktapreview.com\r\nUser-Agent: gimme-aws-creds 2.8.2;linux;3.13.2\r\nAccept-Encoding: gzip, deflate\r\nAccept: application/json\r\nConnection: keep-alive\r\nContent-Length: 52\r\nContent-Type: application/x-www-form-urlencoded\r\nAuthorization: Basic Og==\r\n\r\n'
Python 3.10
> ~/tmp/zzz.py 2>&1 | egrep -m 1 "^send: "
send: b'POST /oauth2/v1/device/authorize HTTP/1.1\r\nHost: okta.oktapreview.com\r\nUser-Agent: gimme-aws-creds 2.8.2;linux;3.13.2\r\nAccept-Encoding: gzip, deflate, br\r\nAccept: application/json\r\nConnection: keep-alive\r\nContent-Length: 52\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n'
Reproduction Steps
import requests
import logging
try:
import http.client as http_client
except ImportError:
# Python 2
import httplib as http_client
http_client.HTTPConnection.debuglevel = 1
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
data = {
"client_id": "<client_id>",
"scope": "openid okta.apps.sso"
}
url = "https://okta.oktapreview.com/oauth2/v1/device/authorize"
headers = {'User-Agent': 'gimme-aws-creds 2.8.2;linux;3.13.2', 'Accept': 'application/json'}
response = requests.post(url, data=data, headers=headers, verify=True)
print(response.text)
System Information
$ python -m requests.help
{
"chardet": {
"version": null
},
"charset_normalizer": {
"version": "3.4.1"
},
"cryptography": {
"version": ""
},
"idna": {
"version": "3.10"
},
"implementation": {
"name": "CPython",
"version": "3.13.2"
},
"platform": {
"release": "6.8.0-52-generic",
"system": "Linux"
},
"pyOpenSSL": {
"openssl_version": "",
"version": null
},
"requests": {
"version": "2.32.3"
},
"system_ssl": {
"version": "30400010"
},
"urllib3": {
"version": "2.3.0"
},
"using_charset_normalizer": true,
"using_pyopenssl": false
}
Ref: Nike-Inc/gimme-aws-creds#485
When sending POST request using Python 3.13 with
requestsv2.32.3 there appear an unexpectedAuthorizationheader.This is not the case with Python 3.10 with the same version of
requestslib.Expected Result
POST request does not get updated with an unexpected
Authorizationheader.Actual Result
Python 3.13
Python 3.10
Reproduction Steps
System Information
{ "chardet": { "version": null }, "charset_normalizer": { "version": "3.4.1" }, "cryptography": { "version": "" }, "idna": { "version": "3.10" }, "implementation": { "name": "CPython", "version": "3.13.2" }, "platform": { "release": "6.8.0-52-generic", "system": "Linux" }, "pyOpenSSL": { "openssl_version": "", "version": null }, "requests": { "version": "2.32.3" }, "system_ssl": { "version": "30400010" }, "urllib3": { "version": "2.3.0" }, "using_charset_normalizer": true, "using_pyopenssl": false }Ref: Nike-Inc/gimme-aws-creds#485