Skip to main content

Parsing WWW-Authenticate headers is difficult. Let this tiny library do all the hard work for you.

What’s so difficult?

The header contains a set of comma-separated challenges, but the parameters for each challenge are also comma-separated. Some challenges in the wild don’t have parameters, which violates the spec. The Negotiate challenge eschews the required name-value pairs and has a single string as its parameter.

Some servers may offer more challenges than you were expecting, but you’d still like to notice the one you care about.

Usage

It’s really easy:

import www_authenticate

parsed = www_authenticate.parse(response.headers['WWW-Authenticate'])

if 'Basic' in parsed:
    realm = parsed['Basic']['realm']
if 'Negotiate' in parsed:
    challenge = parsed['Negotiate']

The returned object is a collections.OrderedDict with authentication scheme names as keys. The values are either dictionaries, a single string, or None if there are no parameters.

Installation

This package is in PyPI. Install with:

$ pip install www-authenticate

There are no external dependencies.

Metadata

Release files for www-authenticate 0.9.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for www-authenticate 0.9.2
File Size Uploaded
www-authenticate-0.9.2.tar.gz 2.4 kB Details

Release files / www-authenticate-0.9.2.tar.gz

Download URL www-authenticate-0.9.2.tar.gz
Size 2.4 kB
Tags Source
SHA-256 checksum
How to use checksums
cf75fc2ea5effb0f9342d7de7619b736f2a7d4b223331a53e296863a286e9dcb
BLAKE2b-256 checksum
How to use checksums
a72d5567291a8274ef5d9b6495a1ec341394ab68933e2396936755b157f87b43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.9.2 This release

1 release file

0.9.1

1 release file

0.9

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page