Metadata-Version: 2.1
Name: Flask-Security-Too
Version: 5.4.3
Summary: Quickly add security features to your Flask application.
Author: Matt Wright
Author-email: Chris Wagner <jwag.wagner+github@gmail.com>
Maintainer-email: Chris Wagner <jwag.wagner+github@gmail.com>
Project-URL: Documentation, https://flask-security-too.readthedocs.io
Project-URL: Homepage, https://github.com/Flask-Middleware/flask-security
Project-URL: Source, https://github.com/Flask-Middleware/flask-security
Project-URL: Tracker, https://github.com/Flask-Middleware/flask-security/issues
Project-URL: Releases, https://pypi.org/project/Flask-Security-Too/
Keywords: flask security
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: Flask>=2.3.2
Requires-Dist: Flask-Login>=0.6.2
Requires-Dist: Flask-Principal>=0.4.0
Requires-Dist: Flask-WTF>=1.1.2
Requires-Dist: email-validator>=2.0.0
Requires-Dist: markupsafe>=2.1.0
Requires-Dist: passlib>=1.7.4
Requires-Dist: wtforms>=3.0.0
Requires-Dist: importlib-resources>=5.10.0
Provides-Extra: babel
Requires-Dist: babel>=2.12.1; extra == "babel"
Requires-Dist: flask-babel>=3.1.0; extra == "babel"
Provides-Extra: common
Requires-Dist: bcrypt>=4.0.1; extra == "common"
Requires-Dist: flask-mailman>=0.3.0; extra == "common"
Requires-Dist: bleach>=6.0.0; extra == "common"
Provides-Extra: fsqla
Requires-Dist: flask-sqlalchemy>=3.0.3; extra == "fsqla"
Requires-Dist: sqlalchemy>=2.0.12; extra == "fsqla"
Requires-Dist: sqlalchemy-utils>=0.41.1; extra == "fsqla"
Provides-Extra: low
Requires-Dist: Flask==2.3.2; extra == "low"
Requires-Dist: Flask-SQLAlchemy==3.0.3; extra == "low"
Requires-Dist: Flask-Babel==3.1.0; extra == "low"
Requires-Dist: Flask-Mailman==0.3.0; extra == "low"
Requires-Dist: Flask-Login==0.6.2; extra == "low"
Requires-Dist: Flask-WTF==1.1.2; extra == "low"
Requires-Dist: peewee==3.16.2; extra == "low"
Requires-Dist: argon2-cffi==21.3.0; extra == "low"
Requires-Dist: authlib==1.2.0; extra == "low"
Requires-Dist: babel==2.12.1; extra == "low"
Requires-Dist: bcrypt==4.0.1; extra == "low"
Requires-Dist: bleach==6.0.0; extra == "low"
Requires-Dist: freezegun; extra == "low"
Requires-Dist: jinja2==3.1.2; extra == "low"
Requires-Dist: itsdangerous==2.1.2; extra == "low"
Requires-Dist: markupsafe==2.1.2; extra == "low"
Requires-Dist: mongoengine==0.27.0; extra == "low"
Requires-Dist: mongomock==4.1.2; extra == "low"
Requires-Dist: phonenumberslite==8.13.11; extra == "low"
Requires-Dist: qrcode==7.4.2; extra == "low"
Requires-Dist: requests; extra == "low"
Requires-Dist: setuptools; extra == "low"
Requires-Dist: sqlalchemy==2.0.12; extra == "low"
Requires-Dist: sqlalchemy-utils==0.41.1; extra == "low"
Requires-Dist: webauthn==2.0.0; extra == "low"
Requires-Dist: werkzeug==2.3.3; extra == "low"
Requires-Dist: zxcvbn==4.4.28; extra == "low"
Requires-Dist: pony==0.7.16; python_version < "3.11" and extra == "low"
Provides-Extra: mfa
Requires-Dist: cryptography>=40.0.2; extra == "mfa"
Requires-Dist: qrcode>=7.4.2; extra == "mfa"
Requires-Dist: phonenumberslite>=8.13.11; extra == "mfa"
Requires-Dist: webauthn>=2.0.0; extra == "mfa"

Flask-Security
===================

.. image:: https://github.com/Flask-Middleware/flask-security/workflows/tests/badge.svg?branch=master&event=push
    :target: https://github.com/Flask-Middleware/flask-security

.. image:: https://codecov.io/gh/Flask-Middleware/flask-security/branch/master/graph/badge.svg?token=U02MUQJ7BM
    :target: https://codecov.io/gh/Flask-Middleware/flask-security
    :alt: Coverage!

.. image:: https://img.shields.io/github/tag/Flask-Middleware/flask-security.svg
    :target: https://github.com/Flask-Middleware/flask-security/releases

.. image:: https://img.shields.io/pypi/dm/flask-security-too.svg
    :target: https://pypi.python.org/pypi/flask-security-too
    :alt: Downloads

.. image:: https://img.shields.io/github/license/Flask-Middleware/flask-security.svg
    :target: https://github.com/Flask-Middleware/flask-security/blob/master/LICENSE
    :alt: License

.. image:: https://readthedocs.org/projects/flask-security-too/badge/?version=latest
    :target: https://flask-security-too.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/python/black

.. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
    :target: https://github.com/pre-commit/pre-commit
    :alt: pre-commit

Quickly add security features to your Flask application.

Notes on this repo
------------------
This is an independently maintained version of Flask-Security forked from the 3.0.0
version of the `Original <https://github.com/mattupstate/flask-security>`_

Goals
+++++
* Regain momentum for this critical piece of the Flask eco-system. To that end the
  the plan is to put out small, frequent releases starting with pulling the simplest
  and most obvious changes that have already been vetted in the upstream version, as
  well as other pull requests. This was completed with the June 29 2019 3.2.0 release.
* Continue work to get Flask-Security to be usable from Single Page Applications,
  such as those built with Vue and Angular, that have no html forms. This is true as of the 3.3.0
  release.
* Use `OWASP <https://github.com/OWASP/ASVS>`_ to guide best practice and default configurations.
* Be more opinionated and 'batteries' included by reducing reliance on abandoned projects and
  bundling in support for common use cases.
* Follow the `Pallets <https://github.com/pallets>`_ lead on supported versions, documentation
  standards and any other guidelines for extensions that they come up with.
* Continue to add newer authentication/authorization standards:
    * 'Social Auth' integrated (using authlib) (5.1)
    * WebAuthn support (5.0)
    * Two-Factor recovery codes (5.0)
    * First-class support for username as identity (4.1)
    * Support for fresheness decorator to ensure sensitive operations have new authentication (4.0)
    * Support for email normalization and validation (4.0)
    * Unified signin (username, phone, passwordless) feature (3.4)


Contributing
++++++++++++
Issues and pull requests are welcome. Other maintainers are also welcome. Unlike
the original Flask-Security - issue pull requests against the *master* branch.
Please consult these `contributing`_ guidelines.

.. _contributing: https://github.com/Flask-Middleware/flask-security/blob/master/CONTRIBUTING.rst

Installing
----------
Install and update using `pip <https://pip.pypa.io/en/stable/quickstart/>`_:

::

    pip install -U Flask-Security-Too


Resources
---------

- `Documentation <https://flask-security-too.readthedocs.io/>`_
- `Releases <https://pypi.org/project/Flask-Security-Too/>`_
- `Issue Tracker <https://github.com/Flask-Middleware/flask-security/issues>`_
- `Code <https://github.com/Flask-Middleware/flask-security/>`_
