.. image:: https://raw.githubusercontent.com/indico/flask-multipass/master/artwork/flask-multipass.png
.. image:: https://readthedocs.org/projects/flask-multipass/badge/?version=latest :target: https://flask-multipass.readthedocs.org/ .. image:: https://github.com/indico/flask-multipass/workflows/Tests/badge.svg :target: https://github.com/indico/flask-multipass/actions
Flask-Multipass provides Flask with a user authentication/identity system which can use different backends (such as local users, LDAP and OAuth) simultaneously.
It was developed at CERN and is currently used in production by Indico <https://github.com/indico/indico>
_.
There are bult-in authentication and identity providers for:
Static (hardcoded) credentials <https://github.com/indico/flask-multipass/blob/master/flask_multipass/providers/static.py>
_Local (SQLAlchemy DB) authentication <https://github.com/indico/flask-multipass/blob/master/flask_multipass/providers/sqlalchemy.py>
_Authlib (OAuth/OIDC) <https://github.com/indico/flask-multipass/blob/master/flask_multipass/providers/authlib.py>
_SAML <https://github.com/indico/flask-multipass/blob/master/flask_multipass/providers/saml.py>
_Shibboleth <https://github.com/indico/flask-multipass/blob/master/flask_multipass/providers/shibboleth.py>
_LDAP <https://github.com/indico/flask-multipass/blob/master/flask_multipass/providers/ldap/providers.py>
_Those can be used simultaneously and interchangeably (e.g. authenticate with OAuth and search users with LDAP).
Documentation is available at https://flask-multipass.readthedocs.org