Basic Authentication#
Basic authentication is a simple technique to authorise requests by
providing a username and password with the request. To require basic
auth credentials for a route (or websocket) use the
basic_auth_required
decorator,
from quart_auth import basic_auth_required
@app.route("/")
@basic_auth_required()
async def index():
...
The username and password must be specified in the configuration, by
default by the QUART_AUTH_BASIC_USERNAME
and
QUART_AUTH_BASIC_PASSWORD
keys. However you can choose different
keys, e.g. CUSTOM_USERNAME
and CUSTOM_PASSWORD
via arguments
to the decorator,
from quart_auth import basic_auth_required
@app.route("/")
@basic_auth_required(username_key="CUSTOM_USERNAME", password_key="CUSTOM_PASSWORD")
async def index():
...
If the request does not provide valid credentials an
UnauthorizedBasicAuth
exception will be raised.