# FastAuth
<p align="center">
<img src="https://raw.githubusercontent.com/AstralMortem/fastauth/master/logo.png?sanitize=true" alt="FastAuth">
</p>
<p align="center">
<em>Ready-to-use customizable solution for FastAPI with Authentication, Authorization(RBAC) and OAuth2 support</em>
</p>
---
## About
[](https://github.com/AstralMortem/fastauth/actions/workflows/ci.yaml)
[](https://astralmortem.github.io/fastauth/)
[](https://codecov.io/github/AstralMortem/fastauth)
[](https://pypi.org/project/fastapi-fastauth/)
[](https://pypi.org/project/fastapi-fastauth/)
Here’s a ready-to-use, customizable solution for FastAPI with Authentication, Authorization (RBAC), and OAuth2 support.
This solution provides token based authentication(JWTHelper, Redis, DB), role-based access control, and OAuth2 integration.
Highly inspired by [FastAPI Users](https://github.com/fastapi-users/fastapi-users) and [AuthX](https://github.com/yezz123/authx/tree/main):
* **Documentation**: <https://astralmortem.github.io/fastauth/>
* **Source Code**: <https://github.com/AstralMortem/fastauth>
---
## Features
* [x] Authentication Support:
* [x] Access and Refresh Token Dependencies
* [x] Different Token Strategy(JWTHelper, Redis, Session)
* [x] Different Token locations(Header, Cookie, Query, etc.)
* [x] Authorization Support:
* [x] "Role and Permission required" Dependency
* [x] OAuth2 support
* [x] User Management:
* [x] User Model protocol
* [x] Service-Repository pattern for flexible customization
* [x] Popular ORM support:
* [x] SQLAlchemy support
* [ ] Beanie
* [ ] Tortoise ORM
Raw data
{
"_id": null,
"home_page": null,
"name": "fastapi-fastauth",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "Authentication, Authorization, Cookie, FastAPI, JWTHelper, OAuth2, RBAC, Session",
"author": null,
"author_email": "Vladyslav Chaliuk <chaliukvladyslav@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/0b/c9/f7c13fa50a6f16e2a4a77ddc91163c9f8911ec15ef77f6272524b3e5ef88/fastapi_fastauth-1.0.0.tar.gz",
"platform": null,
"description": "# FastAuth\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/AstralMortem/fastauth/master/logo.png?sanitize=true\" alt=\"FastAuth\">\n</p>\n\n<p align=\"center\">\n <em>Ready-to-use customizable solution for FastAPI with Authentication, Authorization(RBAC) and OAuth2 support</em>\n</p>\n\n---\n## About\n\n[](https://github.com/AstralMortem/fastauth/actions/workflows/ci.yaml)\n[](https://astralmortem.github.io/fastauth/)\n[](https://codecov.io/github/AstralMortem/fastauth)\n[](https://pypi.org/project/fastapi-fastauth/)\n[](https://pypi.org/project/fastapi-fastauth/)\n\n\nHere\u2019s a ready-to-use, customizable solution for FastAPI with Authentication, Authorization (RBAC), and OAuth2 support.\nThis solution provides token based authentication(JWTHelper, Redis, DB), role-based access control, and OAuth2 integration.\nHighly inspired by [FastAPI Users](https://github.com/fastapi-users/fastapi-users) and [AuthX](https://github.com/yezz123/authx/tree/main):\n\n* **Documentation**: <https://astralmortem.github.io/fastauth/>\n* **Source Code**: <https://github.com/AstralMortem/fastauth>\n---\n\n## Features\n\n* [x] Authentication Support:\n * [x] Access and Refresh Token Dependencies\n * [x] Different Token Strategy(JWTHelper, Redis, Session)\n * [x] Different Token locations(Header, Cookie, Query, etc.)\n* [x] Authorization Support:\n * [x] \"Role and Permission required\" Dependency\n * [x] OAuth2 support\n* [x] User Management:\n * [x] User Model protocol\n * [x] Service-Repository pattern for flexible customization\n * [x] Popular ORM support:\n * [x] SQLAlchemy support\n * [ ] Beanie\n * [ ] Tortoise ORM\n",
"bugtrack_url": null,
"license": null,
"summary": "Ready-to-use customizable solution for FastAPI with Authentication, Authorization(RBAC) and OAuth2 support",
"version": "1.0.0",
"project_urls": {
"Documentation": "https://astralmortem.github.io/fastauth/",
"Source": "https://github.com/AstralMortem/fastauth"
},
"split_keywords": [
"authentication",
" authorization",
" cookie",
" fastapi",
" jwthelper",
" oauth2",
" rbac",
" session"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b245e9559a7b5ac0e3f11d21904b28cbd4b9d12d9e7bef818057db62ee5c2135",
"md5": "03eb856000a81d4edaa7446bc702fb3b",
"sha256": "e4c0cfab52d52fde303e5f8bfea010e452682b2687fedc30ff58b22bebfcc3b7"
},
"downloads": -1,
"filename": "fastapi_fastauth-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "03eb856000a81d4edaa7446bc702fb3b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 36319,
"upload_time": "2024-12-26T14:34:49",
"upload_time_iso_8601": "2024-12-26T14:34:49.012784Z",
"url": "https://files.pythonhosted.org/packages/b2/45/e9559a7b5ac0e3f11d21904b28cbd4b9d12d9e7bef818057db62ee5c2135/fastapi_fastauth-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0bc9f7c13fa50a6f16e2a4a77ddc91163c9f8911ec15ef77f6272524b3e5ef88",
"md5": "7b72181829a016cda5f15e436e965f7b",
"sha256": "06435ac3fadb0cd1421737be528d1d67ef64711f2c160b29e47c855a6bfce48d"
},
"downloads": -1,
"filename": "fastapi_fastauth-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "7b72181829a016cda5f15e436e965f7b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 25209,
"upload_time": "2024-12-26T14:34:50",
"upload_time_iso_8601": "2024-12-26T14:34:50.549118Z",
"url": "https://files.pythonhosted.org/packages/0b/c9/f7c13fa50a6f16e2a4a77ddc91163c9f8911ec15ef77f6272524b3e5ef88/fastapi_fastauth-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-26 14:34:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "AstralMortem",
"github_project": "fastauth",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "fastapi-fastauth"
}