.. 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"
}