Skip to main content

HTTP Basic Auth implementation

Project description

# http-basic-auth


[![Build Status](https://travis-ci.org/bugov/http-basic-auth.svg?branch=master)](https://travis-ci.org/bugov/http-basic-auth)

Yep, it's one more HTTP Basic Auth python lib. The second. And I tried
to use the first, but it had a bug (which I fixed) and... completely
wrong realisation of non-latin encoding/decoding.

# Install

```bash
pip3 install http-basic-auth
```

# ♥️ RFC

It supports only RFC-2617 (RFC-7617 planning).

If you find some mistake – please write to [issue list 🐨](https://github.com/bugov/http-basic-auth/issues).

# ♥️ Non-latin symbols

http-basic-auth ♥ utf-8

```bash
→ curl --user name:пароль https://httpbin.org/headers
{
"headers": {
"Accept": "*/*",
"Authorization": "Basic bmFtZTrQv9Cw0YDQvtC70Yw=",
"Connection": "close",
"Host": "httpbin.org",
"User-Agent": "curl/7.54.0"
}
}
```

And even

```bash
→ curl --user 😁:пар:öль https://httpbin.org/headers
{
"headers": {
"Accept": "*/*",
"Authorization": "Basic 8J+YgTrQv9Cw0YA6w7bQu9GM",
"Connection": "close",
"Host": "httpbin.org",
"User-Agent": "curl/7.54.0"
}
}
```

All works well

```python
from http_basic_auth import generate_header, parse_header


assert "Basic 8J+YgTrQv9Cw0YA6w7bQu9GM" == generate_header('😁', 'пар:öль')
assert ('😁', 'пар:öль') == parse_header("Basic 8J+YgTrQv9Cw0YA6w7bQu9GM")
```

# Provides functions

- `generate_header`: `(user, password) → "Basic <token>"`
- `parse_header`: `"Basic <token>" → (user, password)`
- `generate_token`: `(user, password) → "<token>"`
- `parse_token`: `"<token>" → (user, password)`

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

http-basic-auth-1.1.1.tar.gz (2.7 kB view details)

Uploaded Source

File details

Details for the file http-basic-auth-1.1.1.tar.gz.

File metadata

File hashes

Hashes for http-basic-auth-1.1.1.tar.gz
Algorithm Hash digest
SHA256 7560e3fa29da1c68113ca2455e8413d3c932b9c1d12f4084c42f3e01c2f5bfec
MD5 9aa4ac5686d4c074d5eae9d9a58d757f
BLAKE2b-256 aac5cd66701bb8deda0040f596f8a80f0a66b2b3b097876a69901673a6f3008f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page