flask-praetorian


Nameflask-praetorian JSON
Version 1.6.0 PyPI version JSON
download
home_pagehttps://flask-praetorian.readthedocs.io/en/latest/
SummaryStrong, Simple, and Precise security for Flask APIs (using jwt)
upload_time2024-03-11 18:57:20
maintainer
docs_urlhttps://pythonhosted.org/flask-praetorian/
authorTucker Beck
requires_python>=3.8,<4.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. image::  https://badge.fury.io/py/flask-praetorian.svg
   :target: https://badge.fury.io/py/flask-praetorian
   :alt:    Latest Published Version

.. image::  https://travis-ci.org/dusktreader/flask-praetorian.svg?branch=master
   :target: https://travis-ci.org/dusktreader/flask-praetorian
   :alt:    Build Status

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

******************
 flask-praetorian
******************

---------------------------------------------------
Strong, Simple, and Precise security for Flask APIs
---------------------------------------------------

API security should be strong, simple, and precise like a Roman Legionary.
This package aims to provide that. Using `JWT <https://jwt.io/>`_ tokens as
implemented by `PyJWT <https://pyjwt.readthedocs.io/en/latest/>`_,
*flask_praetorian* uses a very simple interface to make sure that the users
accessing your API's endpoints are provisioned with the correct roles for
access.

This project was heavily influenced by
`Flask-Security <https://pythonhosted.org/Flask-Security/>`_, but intends
to supply only essential functionality. Instead of trying to anticipate the
needs of all users, *flask-praetorian* will provide a simple and secure mechanism
to provide security for APIs specifically.

This extension offers a batteries-included approach to security for your API.
For essential security concerns for Flask-based APIs,
`flask-praetorian <https://github.com/dusktreader/flask-praetorian>`_ should
supply everything you need.

The *flask-praetorian* package can be used to:

* Hash passwords for storing in your database
* Verify plaintext passwords against the hashed, stored versions
* Generate authorization tokens upon verification of passwords
* Check requests to secured endpoints for authorized tokens
* Supply expiration of tokens and mechanisms for refreshing them
* Ensure that the users associated with tokens have necessary roles for access
* Parse user information from request headers for use in client route handlers
* Support inclusion of custom user claims in tokens
* Register new users using email verification

All of this is provided in a very simple to configure and initialize flask
extension. Though simple, the security provided by *flask-praetorian* is strong
due to the usage of the proven security technology of JWT
and python's `PassLib <http://pythonhosted.org/passlib/>`_ package.

Super-quick Start
-----------------
 - requirements: `python` versions 3.8+
 - install through pip: `$ pip install flask-praetorian`
 - minimal usage example: `example/basic.py <https://github.com/dusktreader/flask-praetorian/tree/master/example/basic.py>`_

Documentation
-------------

The complete documentation can be found at the
`flask-praetorian home page <http://flask-praetorian.readthedocs.io>`_

            

Raw data

            {
    "_id": null,
    "home_page": "https://flask-praetorian.readthedocs.io/en/latest/",
    "name": "flask-praetorian",
    "maintainer": "",
    "docs_url": "https://pythonhosted.org/flask-praetorian/",
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Tucker Beck",
    "author_email": "tucker.beck@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/62/f4/cab094cb121b87af3d2a8ab3818f249fcde44b3b483d1aa0303cdc9c1b6f/flask_praetorian-1.6.0.tar.gz",
    "platform": null,
    "description": ".. image::  https://badge.fury.io/py/flask-praetorian.svg\n   :target: https://badge.fury.io/py/flask-praetorian\n   :alt:    Latest Published Version\n\n.. image::  https://travis-ci.org/dusktreader/flask-praetorian.svg?branch=master\n   :target: https://travis-ci.org/dusktreader/flask-praetorian\n   :alt:    Build Status\n\n.. image::  https://readthedocs.org/projects/flask-praetorian/badge/?version=latest\n   :target: http://flask-praetorian.readthedocs.io/en/latest/?badge=latest\n   :alt:    Documentation Build Status\n\n******************\n flask-praetorian\n******************\n\n---------------------------------------------------\nStrong, Simple, and Precise security for Flask APIs\n---------------------------------------------------\n\nAPI security should be strong, simple, and precise like a Roman Legionary.\nThis package aims to provide that. Using `JWT <https://jwt.io/>`_ tokens as\nimplemented by `PyJWT <https://pyjwt.readthedocs.io/en/latest/>`_,\n*flask_praetorian* uses a very simple interface to make sure that the users\naccessing your API's endpoints are provisioned with the correct roles for\naccess.\n\nThis project was heavily influenced by\n`Flask-Security <https://pythonhosted.org/Flask-Security/>`_, but intends\nto supply only essential functionality. Instead of trying to anticipate the\nneeds of all users, *flask-praetorian* will provide a simple and secure mechanism\nto provide security for APIs specifically.\n\nThis extension offers a batteries-included approach to security for your API.\nFor essential security concerns for Flask-based APIs,\n`flask-praetorian <https://github.com/dusktreader/flask-praetorian>`_ should\nsupply everything you need.\n\nThe *flask-praetorian* package can be used to:\n\n* Hash passwords for storing in your database\n* Verify plaintext passwords against the hashed, stored versions\n* Generate authorization tokens upon verification of passwords\n* Check requests to secured endpoints for authorized tokens\n* Supply expiration of tokens and mechanisms for refreshing them\n* Ensure that the users associated with tokens have necessary roles for access\n* Parse user information from request headers for use in client route handlers\n* Support inclusion of custom user claims in tokens\n* Register new users using email verification\n\nAll of this is provided in a very simple to configure and initialize flask\nextension. Though simple, the security provided by *flask-praetorian* is strong\ndue to the usage of the proven security technology of JWT\nand python's `PassLib <http://pythonhosted.org/passlib/>`_ package.\n\nSuper-quick Start\n-----------------\n - requirements: `python` versions 3.8+\n - install through pip: `$ pip install flask-praetorian`\n - minimal usage example: `example/basic.py <https://github.com/dusktreader/flask-praetorian/tree/master/example/basic.py>`_\n\nDocumentation\n-------------\n\nThe complete documentation can be found at the\n`flask-praetorian home page <http://flask-praetorian.readthedocs.io>`_\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Strong, Simple, and Precise security for Flask APIs (using jwt)",
    "version": "1.6.0",
    "project_urls": {
        "Documentation": "https://flask-praetorian.readthedocs.io/en/latest/",
        "Homepage": "https://flask-praetorian.readthedocs.io/en/latest/",
        "Repository": "https://github.com/dusktreader/flask-praetorian"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1175e5a4266eb98b0915c43edecbd5a9eed202f7c1cd9112e224fed1b57cdd7f",
                "md5": "7dc9efba98642b96382eef30db80995f",
                "sha256": "81a5375eefceca17fe1dffe3fe0605b3b5d07a379e0b4469e5f6bf84070c78f1"
            },
            "downloads": -1,
            "filename": "flask_praetorian-1.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7dc9efba98642b96382eef30db80995f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 20941,
            "upload_time": "2024-03-11T18:57:17",
            "upload_time_iso_8601": "2024-03-11T18:57:17.993297Z",
            "url": "https://files.pythonhosted.org/packages/11/75/e5a4266eb98b0915c43edecbd5a9eed202f7c1cd9112e224fed1b57cdd7f/flask_praetorian-1.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "62f4cab094cb121b87af3d2a8ab3818f249fcde44b3b483d1aa0303cdc9c1b6f",
                "md5": "ad3dc1c52faa770db392e5ad241218ff",
                "sha256": "c1d062c455d71d6dfdf0821a02f28e0941ee0d10c63ae1bedcde4f37554ce0f7"
            },
            "downloads": -1,
            "filename": "flask_praetorian-1.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ad3dc1c52faa770db392e5ad241218ff",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 18120,
            "upload_time": "2024-03-11T18:57:20",
            "upload_time_iso_8601": "2024-03-11T18:57:20.143713Z",
            "url": "https://files.pythonhosted.org/packages/62/f4/cab094cb121b87af3d2a8ab3818f249fcde44b3b483d1aa0303cdc9c1b6f/flask_praetorian-1.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-11 18:57:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dusktreader",
    "github_project": "flask-praetorian",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "flask-praetorian"
}
        
Elapsed time: 0.33212s