Implements RFC 7804 Salted Challenge Response (SCRAM) HTTP Authentication Mechanism for the Flask web framework.
Project description
flask-scram
Implements RFC 7804 Salted Challenge Response (SCRAM) HTTP Authentication Mechanism for the Flask web framework.
See requests-scram for a client-side implementation.
Getting Started
Initialize the extension with the application or with init_app in an application factory, and then decorate your
route with the login_required method:
from flask import Flask
from flask_scram import Scram
USERNAME = 'user'
PASSWORD = 'pass'
app = Flask(__name__)
db = {}
def auth_fn(username):
return db[username]
scram = ScramAuth(app, auth_fn=auth_fn)
# or, later in your application factory: scram.init_app(app)
# store your authentication key in your "database"
db[USERNAME] = scram.make_auth_info(PASSWORD)
@app.route("/")
@scram.login_required
def index():
return "OK"
You may specify the following configuration variables:
SCRAM_MECHANISM- supported SCRAM Authentication mechanism e.g.SCRAM-SHA-256SCRAM_REALM- the realm parameter to use e.g. defaults torequest.host
You may also use the authenticate method in your code or before request handler.
See scramp for examples of the make_auth_info and
make_stored_server_keys functions which the same methods implement.
Todo
- Implement One Round-Trip Reauthentication
License
Licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flask-scram-1.0.1.tar.gz.
File metadata
- Download URL: flask-scram-1.0.1.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a52c307ad33bf679d3e55cb5e2b568d2fd0ff6ba2e3e554490080676b138ec06
|
|
| MD5 |
52ea844a7f7c7e15f412852d7085ba35
|
|
| BLAKE2b-256 |
9aaac05f9f9dfb5ad592847d6f23f6b8f5ec2d1dc3275d342376ba5f8cffaef2
|
File details
Details for the file flask_scram-1.0.1-py3-none-any.whl.
File metadata
- Download URL: flask_scram-1.0.1-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a84a0a411445041db03a20c1ee1c4ce4666667f2ee6d5e46dd5414b3b7f2a167
|
|
| MD5 |
89ed9962c6f0eb4e4aa8cafebb7148a4
|
|
| BLAKE2b-256 |
882aa631611b39376d3c057d05b12eae164fba2b757a0b953b44416379ea7a9e
|