- Support SECRET_KEY_FALLBACKS when loading tokens to allow for key rotation.
- Bugfix ensure user_class is used if set in QuartAuth constructor.
- Support Python 3.13, drop Python 3.8.
- Bugfix don't override a user set user_class or serializer_class.
- Bugfix the Serializer init type hinting
- Update extention init typing to match docs and code.
- Allow the user_class and serializer_class to be specified in the constructor.
- Bugfix decorator type hinting.
- Bugfix after_{request,websocket} function typing.
- Display some helpful warnings for development usage.
- Support multiple authentication schemes, whilst supporting a default
singleton global. This renames
AuthManager
->QuartAuth
and removes the TestClientauthenticated
andgenerate_auth_token
methods - use theauthenticated_client
andgenerate_auth_token
functions instead.
- Utilise the extensions app attribute. The
app.auth_manager
is no longer used, instead useapp.extensions["QUART_AUTH"]
. - Allow the token to be customised if desired.
- Add a bearer mode to allow for non-cookie based authentication. This change will cause all existing tokens to be invalid, requiring a new login.
- Support Python 3.11
- Require Quart >= 0.18
- Switch to GitHub rather than GitLab.
- Support Python 3.10
- Add a basic_auth_required decorator.
- Support authenticating WebSocket connections.
- Make testing with logged in users easier via a test_client.authenticated context manager.
- Ensure wrapped routes are async.
- Bugfix set domain when deleting auth cookie.
- Change the default SameSite from Strict to Lax.
- Change the default hashing algorithm to SHA512. This will invalidate any existing cookies.
- Switch from setting expires to max age.
- Add a renew_login function, to renew the cookie expiry.
- Ensure cookies are deleted - by using the same samesite attribute as configured.
- Require Quart >= 0.13
- Add current_user as a template context - to allow its usage when rendering templates.
- Introduce a Quart-Auth specific Unauthorized exception - to allow specific actions when unauthorized requests are made e.g. redirects.
- Loosen python version requirement - now requires Python >= 3.7.
- Ensure the current_user resolves to an Unauthenticated user on logout.
- Refactor User classes remove AnnonymousUser and UserABC, use only AuthUser.
- Released initial alpha version.