Visit http://bitbucket.org/akoha/django-digest/ for further information. This library facilitates the implementation of HTTP Digest Authentication for Django projects. It supplies a middleware (HttpDigestMiddleware) that may installed to protect access to all URLs, a decorator (@httpdigest) that may be applied to selected view functions, and a simple class (HttpDigestAuthenticator) that can be used to implement custom authentication scenarios. The following settings may be defined in your Django settings file. Sensible defaults are provided as well. DIGEST_ENFORCE_NONCE_COUNT (True): Whether the nonce-count supplied by the client is required to increase with each request. DIGEST_REALM (DJANGO): The realm value to use. DIGEST_NONCE_TIMEOUT_IN_SECONDS (5*60): The maximum time between the generation of a nonce and the initiation of a session with that nonce. DIGEST_REQUIRE_AUTHENTICATION (False): If True, the middleware will require all requests to be authenticated. Otherwise, the middleware only performs authentication after intercepting a 401/403 response from the view. DIGEST_ACCOUNT_BACKEND ('django_digest.backend.db.AccountStorage'): A class responsible for managing access to users and their credentials. Must implement: * get_partial_digest(self, username): Returns H(username:realm:password) or None * get_user(self, username): Returns an object representing the specified user, or None. This object will be stored in request.user upon successful authentication. DIGEST_NONCE_BACKEND ('django_digest.backend.db.NonceStorage') A class responsible for managing session information. Must implement: * update_existing_nonce(self, user, nonce, nonce_count): Called upon successful authentication of the specified user (as returned from the account backend's get_user method) with the specified nonce and nonce_count. If the nonce-count is not being enforced, nonce_count will be None. This method should return True if the nonce is already associated with the specifed user (only) and the nonce_count is greater than all previous nonce-counts for the same nonce (or is None) or False otherwise. * store_nonce(self, user, nonce, nonce_count): Called upon successful authentication of the specified user (as returned from the account backend's get_user method) if update_existing_nonce returns False. If the nonce-count is not being enforced, nonce_count will be None. This method should return True if the nonce is not already associated with any user.