Skip to main content

Easy to integrate basic HTTP authentication for Flask apps

Project description

Flask-HTAuth provides Flask apps with easy to integrate basic HTTP authentication. The extension supports standard htpasswd files.

Installation

Install with the usual:

pip install flask-htauth

or download source from GitHub:

git clone https://github.com/tomekwojcik/flask-htauth.git
cd flask-htauth
python setup.py develop

Configuration

Flask-HTAuth uses the following settings:

  • HTAUTH_HTPASSWD_PATH - path to htpasswd file,

  • HTAUTH_REALM - authentication realm (defaults to Protected Area)

Example app

from flask import Flask, g
from flask.ext import htauth
import os

HTPASSWD = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'htpasswd')

app = Flask(__name__)
app.config['HTAUTH_HTPASSWD_PATH'] = HTPASSWD
app.config['HTAUTH_REALM'] = 'Top Secret Area'

auth = htauth.HTAuth(app)

@app.route('/')
def app_index():
    return 'Hello, World!'

@app.route('/secret')
@htauth.authenticated
def app_secret():
    return 'Hello, ' + g.htauth_user + '!'

If the request is missing Authorization header or auth data is invalid the authenticated decorator will return response that will force the user agent to request authentication data from the user.

Features

  • Basic auth,

  • Support for MD5, SHA and crypt htpasswd password encrypting.

License

Flask-HTAuth is licensed under MIT License. See LICENSE for more details.

Credits

Flask-HTAuth is developed by BTHLabs. The extension was inspired by django-htauth. Uses MD5 crypt code from this snippet.

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

Flask-HTAuth-0.1.2.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file Flask-HTAuth-0.1.2.tar.gz.

File metadata

File hashes

Hashes for Flask-HTAuth-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ba6caadbe44da9c84544c901ca9800cf91152162fefd116b4dc826113d55f4d5
MD5 0591ea5969674c493ce584b05798e748
BLAKE2b-256 82df96734a25fe86a2339e756ea67c73e7866706dd7b21499b86f93b08c55b1b

See more details on using hashes here.

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