# Flask-JWT-Extended
### Features
Flask-JWT-Extended not only adds support for using JSON Web Tokens (JWT) to Flask for protecting routes,
but also many helpful (and **optional**) features built in to make working with JSON Web Tokens
easier. These include:
- Adding custom claims to JSON Web Tokens
- Automatic user loading (`current_user`).
- Custom claims validation on received tokens
- [Refresh tokens](https://auth0.com/blog/refresh-tokens-what-are-they-and-when-to-use-them/)
- First class support for fresh tokens for making sensitive changes.
- Token revoking/blocklisting
- Storing tokens in cookies and CSRF protection
### Usage
[View the documentation online](https://flask-jwt-extended.readthedocs.io/en/stable/)
### Upgrading from 3.x.x to 4.0.0
[View the changes](https://flask-jwt-extended.readthedocs.io/en/stable/v4_upgrade_guide/)
### Changelog
You can view the changelog [here](https://github.com/vimalloc/flask-jwt-extended/releases).
This project follows [semantic versioning](https://semver.org/).
### Chatting
Come chat with the community or ask questions at https://discord.gg/EJBsbFd
### Contributing
Before making any changes, make sure to install the development requirements
and setup the git hooks which will automatically lint and format your changes.
```bash
pip install -r requirements.txt
pre-commit install
```
We require 100% code coverage in our unit tests. You can run the tests locally
with `tox` which ensures that all tests pass, tests provide complete code coverage,
documentation builds, and style guide are adhered to
```bash
tox
```
A subset of checks can also be ran by adding an argument to tox. The available
arguments are:
- py37, py38, py39, py310, py311, py312, pypy3
- Run unit tests on the given python version
- mypy
- Run mypy type checking
- coverage
- Run a code coverage check
- docs
- Ensure documentation builds and there are no broken links
- style
- Ensure style guide is adhered to
```bash
tox -e py38
```
We also require features to be well documented. You can generate a local copy
of the documentation by going to the `docs` directory and running:
```bash
make clean && make html && open _build/html/index.html
```
Raw data
{
"_id": null,
"home_page": "https://github.com/vimalloc/flask-jwt-extended",
"name": "Flask-JWT-Extended",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.9",
"maintainer_email": null,
"keywords": "flask, jwt, json web token",
"author": "Lily Acadia Gilbert",
"author_email": "lily.gilbert@hey.com",
"download_url": "https://files.pythonhosted.org/packages/51/16/96b101f18cba17ecce3225ab07bc4c8f23e6befd8552dbbed87482e7c7fb/flask_jwt_extended-4.7.1.tar.gz",
"platform": "any",
"description": "# Flask-JWT-Extended\n\n### Features\n\nFlask-JWT-Extended not only adds support for using JSON Web Tokens (JWT) to Flask for protecting routes,\nbut also many helpful (and **optional**) features built in to make working with JSON Web Tokens\neasier. These include:\n\n- Adding custom claims to JSON Web Tokens\n- Automatic user loading (`current_user`).\n- Custom claims validation on received tokens\n- [Refresh tokens](https://auth0.com/blog/refresh-tokens-what-are-they-and-when-to-use-them/)\n- First class support for fresh tokens for making sensitive changes.\n- Token revoking/blocklisting\n- Storing tokens in cookies and CSRF protection\n\n### Usage\n\n[View the documentation online](https://flask-jwt-extended.readthedocs.io/en/stable/)\n\n### Upgrading from 3.x.x to 4.0.0\n\n[View the changes](https://flask-jwt-extended.readthedocs.io/en/stable/v4_upgrade_guide/)\n\n### Changelog\n\nYou can view the changelog [here](https://github.com/vimalloc/flask-jwt-extended/releases).\nThis project follows [semantic versioning](https://semver.org/).\n\n### Chatting\n\nCome chat with the community or ask questions at https://discord.gg/EJBsbFd\n\n### Contributing\n\nBefore making any changes, make sure to install the development requirements\nand setup the git hooks which will automatically lint and format your changes.\n\n```bash\npip install -r requirements.txt\npre-commit install\n```\n\nWe require 100% code coverage in our unit tests. You can run the tests locally\nwith `tox` which ensures that all tests pass, tests provide complete code coverage,\ndocumentation builds, and style guide are adhered to\n\n```bash\ntox\n```\n\nA subset of checks can also be ran by adding an argument to tox. The available\narguments are:\n\n- py37, py38, py39, py310, py311, py312, pypy3\n - Run unit tests on the given python version\n- mypy\n - Run mypy type checking\n- coverage\n - Run a code coverage check\n- docs\n - Ensure documentation builds and there are no broken links\n- style\n - Ensure style guide is adhered to\n\n```bash\ntox -e py38\n```\n\nWe also require features to be well documented. You can generate a local copy\nof the documentation by going to the `docs` directory and running:\n\n```bash\nmake clean && make html && open _build/html/index.html\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Extended JWT integration with Flask",
"version": "4.7.1",
"project_urls": {
"Homepage": "https://github.com/vimalloc/flask-jwt-extended"
},
"split_keywords": [
"flask",
" jwt",
" json web token"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "67349a91da47b1565811ab4aa5fb134632c8d1757960bfa7d457f486947c4d75",
"md5": "e68df4c2a3c8c890000232c64d3e7ace",
"sha256": "52f35bf0985354d7fb7b876e2eb0e0b141aaff865a22ff6cc33d9a18aa987978"
},
"downloads": -1,
"filename": "Flask_JWT_Extended-4.7.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "e68df4c2a3c8c890000232c64d3e7ace",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": "<4,>=3.9",
"size": 22588,
"upload_time": "2024-11-20T23:44:39",
"upload_time_iso_8601": "2024-11-20T23:44:39.435929Z",
"url": "https://files.pythonhosted.org/packages/67/34/9a91da47b1565811ab4aa5fb134632c8d1757960bfa7d457f486947c4d75/Flask_JWT_Extended-4.7.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "511696b101f18cba17ecce3225ab07bc4c8f23e6befd8552dbbed87482e7c7fb",
"md5": "1d96821d9373a607a09dbed418110696",
"sha256": "8085d6757505b6f3291a2638c84d207e8f0ad0de662d1f46aa2f77e658a0c976"
},
"downloads": -1,
"filename": "flask_jwt_extended-4.7.1.tar.gz",
"has_sig": false,
"md5_digest": "1d96821d9373a607a09dbed418110696",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.9",
"size": 34411,
"upload_time": "2024-11-20T23:44:41",
"upload_time_iso_8601": "2024-11-20T23:44:41.044905Z",
"url": "https://files.pythonhosted.org/packages/51/16/96b101f18cba17ecce3225ab07bc4c8f23e6befd8552dbbed87482e7c7fb/flask_jwt_extended-4.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-20 23:44:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vimalloc",
"github_project": "flask-jwt-extended",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "flask-jwt-extended"
}