Skip to main content

Debug Authentication Policy for Pyramid

Project description

=================
Pyramid_debugauth
=================

Debug Authentication Policy for Pyramid. Provide a simple and standard way to
define the pyramid principals from the HTTP client.

.. warning::

(Obviously) This pyramid is totally unsafe for production and should be
restricted to debug usage / development phase.

* PyPI: https://pypi-hypernode.com/pypi/pyramid_debugauth
* Bitbucket: https://bitbucket.org/Ludia/pyramid_debugauth
* Bugs: https://bitbucket.org/Ludia/pyramid_debugauth/issues


Installation
============

Install using setuptools, e.g. (within a virtualenv)::

$ pip install pyramid_debugauth


Setup
=====

Once ``pyramid_debugauth`` is installed, you can define a authentication policy
with ``config.set_authentication_policy``.

In your Pyramid project:

.. code-block:: python

from pyramid.authorization import ACLAuthorizationPolicy
from pyramid_debugauth import DebugAuthenticationPolicy

config = Configurator(.....)
config.set_authentication_policy(DebugAuthenticationPolicy())
config.set_authorization_policy(ACLAuthorizationPolicy())


Usage
=====

The DebugAuthenticationPolicy allows a client to impersonate any user and
specify any number of principals desired using the standard *Authorization*
http header and a non-standard auth-scheme *Debug* (:rfc:`7235`):

``Authorization: Debug user_id [principal_1] [principal_2] ...``

With common http clients:

$ curl http://localhost:6543 -H 'Authorization: Debug bob admin'

$ http http://localhost:6543 'Authorization: Debug bob admin'


Or using a non-standard *authorization* query parameter:

``http://localhost:6543/protected?authorization=debug%20user_id%20principal_1

With common http clients:

$ curl http://localhost:6543?authorization=debug%20bob%20admin

$ http http://localhost:6543?authorization=debug\ bob\ admin


Development
===========

Running tests::

$ virtualenv venv
$ . venv/bin/activate
(venv)$ pip install -r requirements-test.txt
(venv)$ nosetests

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

pyramid_debugauth-0.1.2.tar.gz (3.9 kB view details)

Uploaded Source

File details

Details for the file pyramid_debugauth-0.1.2.tar.gz.

File metadata

File hashes

Hashes for pyramid_debugauth-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5e10ef9186f26956c4b7182d864b5e5bb2268208848358cdb5db7173d0b6f300
MD5 1acb1e0027565970151b98f8ed2de2ef
BLAKE2b-256 26cf946ad36a4b9dd6ce53b68475ffa7ed03cae62ba8d913e60470026b3c9dff

See more details on using hashes here.

Provenance

Supported by

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