Changelog¶
Version 0.11.2¶
Fix an open redirect in the
nextURL validation
Version 0.11.1¶
shibboleth: Fix error when cleaning up data from the WSGI environment
Version 0.11¶
Drop support for Python 3.9 (3.9 is EOL since Oct 2025)
Add support for Python 3.14
shibboleth: Fix encoding of UTF-8 values incorrectly decoded as Latin-1
Fix open redirect caused by browsers accepting certain invalid URLs such as
////example.comand treating them like//example.com
Version 0.10¶
Allow overriding the message of
NoSuchUserandInvalidCredentials, and make its other arguments keyword-only
Version 0.9¶
Include the username in the
identifierattribute of theNoSuchUserexception so applications can apply e.g. per-username rate limitingFail silently when there’s no
objectSidfor an AD-style LDAP group
Version 0.8¶
Reject
nextURLs containing linebreaks gracefullyLook for
logout_uriin top-level authlib provider config instead of theauthlib_argsdict (the latter is still checked as a fallback)Include
id_token_hintin authlib logout URLAdd
logout_argssetting to authlib provider which allows removing some of the query string arguments that are included by default
Version 0.7¶
Support multiple id fields in SAML identity provider
Include
client_idin authlib logout URL since some OIDC providers may require thisAllow setting timeout for authlib token requests (default: 10 seconds)
Add new
MULTIPASS_HIDE_NO_SUCH_USERconfig setting to convertNoSuchUserexceptions toInvalidCredentialsto avoid disclosing whether a username is validInclude the username in the
identifierattribute of theInvalidCredentialsexception so applications can apply e.g. per-username rate limiting
Version 0.6¶
Drop support for Python 3.8 (3.8 is EOL since Oct 2024)
Remove upper version pins of dependencies
Support friendly names for SAML assertions (set
'saml_friendly_names': Truein the auth provider settings)Include more verbose authentication data in
IdentityRetrievalFailedexception details
Version 0.5.6¶
Reject invalid
nextURLs with backslashes that could be used to trick browsers into redirecting to an otherwise disallowed host when doing client-side redirects
Version 0.5.5¶
Ensure only valid schemas (http and https) can be used when validating the
nextURLDeprecate the
flask_multipass.__version__attribute
Version 0.5.4¶
Skip LDAP users that do not have the specified
uidattribute set instead of failing with an error
Version 0.5.3¶
Skip LDAP group members that do not have the specified
uidattribute set instead of failing with an error
Version 0.5.2¶
Add
ldap_or_authinfoidentity provider which behaves exactly like theldapprovider, but if the user cannot be found in LDAP, it falls back to the data from the auth provider (typically shibboleth)
Version 0.5.1¶
Fix compatibility with Python 3.8 and 3.9
Version 0.5¶
Drop support for Python 3.7 and older (3.7 is EOL since June 2023)
Declare explicit compatibility with Python 3.11
Support werkzeug 3.0
Fail more gracefully if Authlib (OIDC) login provider is down
Version 0.4.9¶
Support authlib 1.1 (remove upper version pin)
Version 0.4.8¶
Fix LDAP TLS configuration
Version 0.4.7¶
Declare explicit compatibility with Python 3.10
Version 0.4.6¶
Support authlib 1.0.0rc1 (up to 1.0.x)
Version 0.4.5¶
Log details when getting oauth token fails
Version 0.4.4¶
Support authlib 1.0.0b2
Version 0.4.3¶
Add
samlprovider which supports SAML without the need for Shibboleth and Apache
Version 0.4.2¶
Fix LDAP group membership checks on servers that are not using
ad_group_style
Version 0.4.1¶
Support authlib 1.0.0a2
Version 0.4¶
Drop support for Python 2; Python 3.6+ is now required
Version 0.3.5¶
Validate
nextURL to avoid having an open redirector
Version 0.3.4¶
Fix authlib dependency to work with 1.0.0a1 (which no longer has a
clientextra)
Version 0.3.3¶
Add missing dependencies for
ldapandsqlalchemyextrasAdd support for authlib 1.0.0a1
Add explicit support for Python 3.9
Version 0.3.2¶
Require a recent
python-ldapversion when enabling theldapextra.
Version 0.3.1¶
Add
search_identities_exwhich allows more a flexible search with the option to specify the max number of results to return while also returning the total number of found identities.
Version 0.3¶
Breaking change: Replace
oauthprovider withauthlib.Breaking change: Drop support for Python 3.4 and 3.5.
The new authlib provider supports OIDC (OpenID-Connect) in addition to regular OAuth.
Make
ldapprovider compatible with Python 3.
Version 0.2¶
Add option to get all groups for an identity.
Version 0.1¶
Initial release