# 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
[![CI](https://github.com/AstralMortem/fastauth/actions/workflows/ci.yaml/badge.svg)](https://github.com/AstralMortem/fastauth/actions/workflows/ci.yaml)
[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/AstralMortem/fastauth/docs.yaml?label=Docs)](https://astralmortem.github.io/fastauth/)
[![codecov](https://codecov.io/github/AstralMortem/fastauth/graph/badge.svg?token=SI6ND9SIPU)](https://codecov.io/github/AstralMortem/fastauth)
[![PyPI - Version](https://img.shields.io/pypi/v/fastapi-fastauth)](https://pypi.org/project/fastapi-fastauth/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/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(JWT, 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(JWT, 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": "https://github.com/AstralMortem/fastauth",
"name": "fastapi-fastauth",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "FastAPI, Authentication, Authorization, OAuth2, RBAC, Pydantic, JWT, Cookie, ORM",
"author": "Vladyslav Chaliuk",
"author_email": "chaliukvladyslav@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/8b/64/3be1018491441dd113dfbe8baaa1c26718bbc54662e433ad52c16b56ff20/fastapi_fastauth-0.0.2.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[![CI](https://github.com/AstralMortem/fastauth/actions/workflows/ci.yaml/badge.svg)](https://github.com/AstralMortem/fastauth/actions/workflows/ci.yaml)\n[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/AstralMortem/fastauth/docs.yaml?label=Docs)](https://astralmortem.github.io/fastauth/)\n[![codecov](https://codecov.io/github/AstralMortem/fastauth/graph/badge.svg?token=SI6ND9SIPU)](https://codecov.io/github/AstralMortem/fastauth)\n[![PyPI - Version](https://img.shields.io/pypi/v/fastapi-fastauth)](https://pypi.org/project/fastapi-fastauth/)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/fastapi-fastauth)](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(JWT, 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(JWT, 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\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Ready-to-use customizable solution for FastAPI with Authentication, Authorization(RBAC) and OAuth2 support",
"version": "0.0.2",
"project_urls": {
"Documentation": "https://astralmortem.github.io/fastauth/",
"Homepage": "https://github.com/AstralMortem/fastauth",
"Repository": "https://github.com/AstralMortem/fastauth"
},
"split_keywords": [
"fastapi",
" authentication",
" authorization",
" oauth2",
" rbac",
" pydantic",
" jwt",
" cookie",
" orm"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "01e4627e64601091bb3cfeccb56e0adac10594f0ac868cebe0a2115c819965d6",
"md5": "bbed6af6035fe0eaaa767ec5aaab6cb2",
"sha256": "29c94728cfa8a4cea517459fdbca01e6f4a1822bc817dbf8ff35939c87fa9f7d"
},
"downloads": -1,
"filename": "fastapi_fastauth-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bbed6af6035fe0eaaa767ec5aaab6cb2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 24275,
"upload_time": "2024-12-19T10:30:04",
"upload_time_iso_8601": "2024-12-19T10:30:04.064835Z",
"url": "https://files.pythonhosted.org/packages/01/e4/627e64601091bb3cfeccb56e0adac10594f0ac868cebe0a2115c819965d6/fastapi_fastauth-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8b643be1018491441dd113dfbe8baaa1c26718bbc54662e433ad52c16b56ff20",
"md5": "3e5cd66bf6aec925c67261d7a5343a44",
"sha256": "0b14b44c00575a8c7f16f20061ce12e4cd2e3f9e3ac3265dbf1db683b327f7b8"
},
"downloads": -1,
"filename": "fastapi_fastauth-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "3e5cd66bf6aec925c67261d7a5343a44",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 16085,
"upload_time": "2024-12-19T10:30:06",
"upload_time_iso_8601": "2024-12-19T10:30:06.518400Z",
"url": "https://files.pythonhosted.org/packages/8b/64/3be1018491441dd113dfbe8baaa1c26718bbc54662e433ad52c16b56ff20/fastapi_fastauth-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-19 10:30:06",
"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"
}