Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Authentication based on the ENVAUTH environment variable

Project description

Super simple authentication middleware for when you quickly need to password protect something and don’t have the time to implement rigorous authentication. Supports Flask, bottle, Django and generic WSGI servers out of the box.

$ENVAUTH

envauth looks for a JSON object in the ENVAUTH environment variable. The keys are the usernames and the value contains the password for the user.

{"username": "password", "anotheruser": "pass1234"}

Heroku Example

envauth is especially useful if you happen to be running your application on a PAAS!

$ heroku config:set ENVAUTH='{"username": "password", "anotheruser": "pass1234"}'
Setting config vars and restarting application... done, v2

Examples

pypi

Flask

import envauth

@app.route('/secret-page')
@envauth.flask.requires_auth(realm='You shall not pass!')
def secret_page():
    return render_template('secret_page.html')

Bottle

import envauth

@app.route('/secret-page')
@envauth.bottle.requires_auth(realm='You shall not pass!')
def secret_page():
    return template('secret_page.html')

Django

MIDDLEWARE_CLASSES += ('envauth.django',)

WSGI

import envauth

application = envauth.wsgi(application, realm='You shall not pass!')

Installation

Install envauth with pip:

$ pip install envauth

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
envauth-1.0.1.tar.gz (3.6 kB) Copy SHA256 hash SHA256 Source None Feb 26, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page