An incredibly simple HTTP basic auth implementation.
Project description
python-basicauth
A dead simple HTTP basic auth encoder and decoder. Why? Because HTTP should be drop dead easy... That's why.
Install
To install python-basicauth
, simply run pip install basicauth
and
you'll get the latest version installed automatically.
Usage
To generate an encoded basic auth string:
>>> from basicauth import encode
>>> username, password = 'rdegges', 'omghax!!!'
>>> encoded_str = encode(username, password)
>>> print encoded_str
'Basic cmRlZ2dlczpvbWdoYXglMjElMjElMjE='
To decode an encoded basic auth string:
>>> from basicauth import decode
>>> encoded_str = 'Basic cmRlZ2dlczpvbWdoYXglMjElMjElMjE=' # From the example above.
>>> username, password = decode(encoded_str)
>>> print (username, password)
('rdegges', 'omghax!!!')
We can also decode the encoded string directly:
>>> from basicauth import decode
>>> encoded_str = 'cmRlZ2dlczpvbWdoYXglMjElMjElMjE=' # From the example above.
>>> username, password = decode(encoded_str)
>>> print (username, password)
('rdegges', 'omghax!!!')
And if there are errors:
>>> from basicauth import decode, DecodeError
>>> encoded_str = 'lol omg cmRlZ2dlczpvbWdoYXglMjElMjElMjE=' # Invalid encoded string.
>>> username, password = decode(encoded_str)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "basicauth/__init__.py", line 49, in decode
raise DecodeError
basicauth.DecodeError
NOTE: The HTTP Basic Authentication spec
does NOT allow you to include any colon characters (:
) in the username
field. Colons are allowed in the password field -- but that's it.
Tests
Want to run the tests? No problem:
$ git clone https://github.com/rdegges/python-basicauth.git
$ cd python-basicauth
$ pip install -e .
...
$ python -m unittest
..............
----------------------------------------------------------------------
Ran 14 tests in 0.103s
OK
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for basicauth-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e6eb3deb883b1fce552e25b6a97083e1b5ab28771b3d7c2b76c5b6ae1cc4da7 |
|
MD5 | 88f12023baa7eeed3ac2868d5c65f3ae |
|
BLAKE2b-256 | 52b55bb9477a6a0b4fe88d2849858e150f07481200d5b4b4c789a39bd567e5b4 |