Open beyonlo opened 5 months ago
Hi @beyonlo
I think this request (pun intended) doesn't gain much attention because
HTTP Digest auth has a gazillion of flavours https://en.wikipedia.org/wiki/Digest_access_authentication
nowadays most of web sites use OAuth
Hello @massimosala
I think this request (pun intended) doesn't gain much attention because
- HTTP Digest auth has a gazillion of flavours https://en.wikipedia.org/wiki/Digest_access_authentication
So, the digest auth supported on cpython requests (code below) and aiohttp implements all that "gazillion" flavours?
import requests
from requests.auth import HTTPDigestAuth
url='https://example.com/cgi/metadata.cgi?template=html'
r = requests.get(url, auth=HTTPDigestAuth('myUsername', 'myPassword'), verify=False, stream=True)
print(r.headers)
print(r.status_code)
- nowadays most of web sites use OAuth
Understood. But many devices support only Digest Auth in the API. I already running it using cpython requests - works ok - but I need to use micropython.
The code for HTTPDigestAuth in requests for CPython can be found here: https://github.com/psf/requests/blob/a3ce6f007597f14029e6b6f54676c34196aa050e/src/requests/auth.py#L107
If that does what you need, then I recommend copying that code and porting it to MicroPython
Hi all!
I need to communicate with some products that have an API that support only
HTTP Digest authentication
, I mean, they do not supportHTTP Basic authentication
and it is not possible to disable the authentication.I see that MicroPython has two HTTP client libs that can be used for that purpose:
requests
(https://github.com/micropython/micropython-lib/tree/master/python-ecosys/requests) - It issync
, and supportHTTP Basic authentication
, but does not supportHTTP Digest authentication
aiohttp
(https://github.com/micropython/micropython-lib/tree/master/python-ecosys/aiohttp/aiohttp) - It isasync
, and does not supportHTTP Basic authentication
and does not supportHTTP Digest authentication
as well.I see there is this uwwwauth.py -> https://github.com/pfalcon/pycopy-lib/blob/master/uwwwauth/uwwwauth.py that is a support for
HTTP Digest authentication
for the pycopy (It seems to be like as old fork of MicroPython). Can that help to supportHTTP Digest authentication
on therequests
and/oraiohttp
http clients?Is it a simple or difficult task to support
HTTP Digest authentication
on the MicroPythonrequests
/aiohttp
? If I were to choose just one that http client libs to be supported by theHTTP Digest authentication
, I would like to be theaiohttp
because it is async (asyncio), so I do not need to use threads to have a non blocking code. But if is supported just on therequests
lib, is very good as well.Thank you in advance!