flask-praetorian


Nameflask-praetorian JSON
Version 1.6.1 PyPI version JSON
download
home_pagehttps://flask-praetorian.readthedocs.io/en/latest/
SummaryStrong, Simple, and Precise security for Flask APIs (using jwt)
upload_time2024-10-25 22:39:41
maintainerNone
docs_urlhttps://pythonhosted.org/flask-praetorian/
authorTucker Beck
requires_python<4.0,>=3.8
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": null,
    "docs_url": "https://pythonhosted.org/flask-praetorian/",
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Tucker Beck",
    "author_email": "tucker.beck@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/86/f3/fb82c8893433c7c15ff6b74e0940c4da6c4c13813a01d357447898eb70dd/flask_praetorian-1.6.1.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.1",
    "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": "7058e1d863ca6ecf90b6a2bd03580b327624fb6ed1888fb0d9a253ad6376f6d6",
                "md5": "d128365d458411c4a608354c22ec7a3a",
                "sha256": "0842b1045fb3380f7d1583d3d6525b3df64157396c752f5552a4b90d23426b67"
            },
            "downloads": -1,
            "filename": "flask_praetorian-1.6.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d128365d458411c4a608354c22ec7a3a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 20940,
            "upload_time": "2024-10-25T22:39:39",
            "upload_time_iso_8601": "2024-10-25T22:39:39.702226Z",
            "url": "https://files.pythonhosted.org/packages/70/58/e1d863ca6ecf90b6a2bd03580b327624fb6ed1888fb0d9a253ad6376f6d6/flask_praetorian-1.6.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "86f3fb82c8893433c7c15ff6b74e0940c4da6c4c13813a01d357447898eb70dd",
                "md5": "4de90be89da6dfc8795a3052bd008254",
                "sha256": "a4cbbac830f2138059001d8028cc9504a8c1920928e36d56436fb2c7b22d4ed2"
            },
            "downloads": -1,
            "filename": "flask_praetorian-1.6.1.tar.gz",
            "has_sig": false,
            "md5_digest": "4de90be89da6dfc8795a3052bd008254",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 18022,
            "upload_time": "2024-10-25T22:39:41",
            "upload_time_iso_8601": "2024-10-25T22:39:41.074960Z",
            "url": "https://files.pythonhosted.org/packages/86/f3/fb82c8893433c7c15ff6b74e0940c4da6c4c13813a01d357447898eb70dd/flask_praetorian-1.6.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-25 22:39:41",
    "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.39920s