paste.auth.basic – Basic HTTP authentication

Basic HTTP/1.0 Authentication

This module implements Basic authentication as described in HTTP/1.0 specification [1] . Do not use this module unless you are using SSL or need to work with very out-dated clients, instead use digest authentication.

>>> from paste.wsgilib import dump_environ
>>> from paste.httpserver import serve
>>> # from paste.auth.basic import AuthBasicHandler
>>> realm = 'Test Realm'
>>> def authfunc(environ, username, password):
...     return username == password
>>> serve(AuthBasicHandler(dump_environ, realm, authfunc))
serving on...
[1]http://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html#BasicAA

Module Contents

class paste.auth.basic.AuthBasicAuthenticator(realm, authfunc)

implements Basic authentication details

class paste.auth.basic.AuthBasicHandler(application, realm, authfunc)

HTTP/1.0 Basic authentication middleware

Parameters:

application

The application object is called only upon successful authentication, and can assume environ['REMOTE_USER'] is set. If the REMOTE_USER is already set, this middleware is simply pass-through.

realm

This is a identifier for the authority that is requesting authorization. It is shown to the user and should be unique within the domain it is being used.

authfunc

This is a mandatory user-defined function which takes a environ, username and password for its first three arguments. It should return True if the user is authenticated.
paste.auth.basic.make_basic(app, global_conf, realm, authfunc, **kw)

Grant access via basic authentication

Config looks like this:

[filter:grant]
use = egg:Paste#auth_basic
realm=myrealm
authfunc=somepackage.somemodule:somefunction