Metadata-Version: 2.1
Name: www-authenticate
Version: 0.9.2
Summary: Parser for WWW-Authenticate headers.
Home-page: https://github.com/alexsdutton/www-authenticate
Author: Alexander Dutton
Author-email: www-authenticate-lib@alexdutton.co.uk
License: BSD

WWW-Authenticate header parser
==============================

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.

