flask-multipass
flask-multipass copied to clipboard
Multi-backend authentication system for Flask
Flask-Multipass
.. 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