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.