aioauth


Nameaioauth JSON
Version 1.5.4 PyPI version JSON
download
home_pagehttps://github.com/aliev/aioauth
SummaryAsynchronous OAuth 2.0 framework for Python 3.
upload_time2023-05-04 16:19:18
maintainer
docs_urlNone
authorAli Aliyev
requires_python>=3.7.0
licenseThe MIT License (MIT)
keywords asyncio oauth2 oauth
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## Asynchronous OAuth 2.0 framework for Python 3

[![Build Status](https://github.com/aliev/aioauth/workflows/CI/badge.svg?branch=master)](https://github.com/aliev/aioauth/actions/workflows/ci.yml?query=branch%3Amaster)
[![Coverage](https://badgen.net/codecov/c/github/aliev/aioauth)](https://app.codecov.io/gh/aliev/aioauth)
[![License](https://img.shields.io/github/license/aliev/aioauth)](https://github.com/aliev/aioauth/blob/master/LICENSE)
[![PyPi](https://badgen.net/pypi/v/aioauth)](https://pypi.org/project/aioauth/)
[![Python 3.7](https://img.shields.io/badge/python-3.7-blue.svg)](https://www.python.org/downloads/release/python-370/)

`aioauth` implements [OAuth 2.0 protocol](https://tools.ietf.org/html/rfc6749) and can be used in asynchronous frameworks like [FastAPI / Starlette](https://github.com/tiangolo/fastapi), [aiohttp](https://github.com/aio-libs/aiohttp). It can work with any databases like `MongoDB`, `PostgreSQL`, `MySQL` and ORMs like [gino](https://python-gino.org/), [sqlalchemy](https://www.sqlalchemy.org/) or [databases](https://pypi.org/project/databases/) over simple [BaseStorage](aioauth/storage.py) interface.

## Why this project exists?

There are few great OAuth frameworks for Python like [oauthlib](https://github.com/oauthlib/oauthlib) and [authlib](https://github.com/lepture/authlib), but they do not support asyncio and rewriting these libraries to asyncio is a significant challenge (see issues [here](https://github.com/lepture/authlib/issues/63) and [here](https://github.com/oauthlib/oauthlib/issues/415)).

## Supported RFCs

- [x] [The OAuth 2.0 Authorization Framework](https://tools.ietf.org/html/rfc6749)
- [X] [OAuth 2.0 Token Introspection](https://tools.ietf.org/html/rfc7662)
- [X] [Proof Key for Code Exchange by OAuth Public Clients](https://tools.ietf.org/html/rfc7636)
- [x] OpenID support

## Installation

```
python -m pip install aioauth
```

## FastAPI

FastAPI integration stored on separated [aioauth-fastapi](https://github.com/aliev/aioauth-fastapi) repository and can be installed via the command:

```
python -m pip install aioauth[fastapi]
```

[aioauth-fastapi](https://github.com/aliev/aioauth-fastapi) repository contains demo example which I recommend to look.

## [API Reference and User Guide](https://aliev.me/aioauth/)



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/aliev/aioauth",
    "name": "aioauth",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7.0",
    "maintainer_email": "",
    "keywords": "asyncio oauth2 oauth",
    "author": "Ali Aliyev",
    "author_email": "ali@aliev.me",
    "download_url": "https://files.pythonhosted.org/packages/37/5e/991ada8a7eb02c60ae2c95ad3283db114b3e9189b8ea421de7917ee28019/aioauth-1.5.4.tar.gz",
    "platform": null,
    "description": "## Asynchronous OAuth 2.0 framework for Python 3\n\n[![Build Status](https://github.com/aliev/aioauth/workflows/CI/badge.svg?branch=master)](https://github.com/aliev/aioauth/actions/workflows/ci.yml?query=branch%3Amaster)\n[![Coverage](https://badgen.net/codecov/c/github/aliev/aioauth)](https://app.codecov.io/gh/aliev/aioauth)\n[![License](https://img.shields.io/github/license/aliev/aioauth)](https://github.com/aliev/aioauth/blob/master/LICENSE)\n[![PyPi](https://badgen.net/pypi/v/aioauth)](https://pypi.org/project/aioauth/)\n[![Python 3.7](https://img.shields.io/badge/python-3.7-blue.svg)](https://www.python.org/downloads/release/python-370/)\n\n`aioauth` implements [OAuth 2.0 protocol](https://tools.ietf.org/html/rfc6749) and can be used in asynchronous frameworks like [FastAPI / Starlette](https://github.com/tiangolo/fastapi), [aiohttp](https://github.com/aio-libs/aiohttp). It can work with any databases like `MongoDB`, `PostgreSQL`, `MySQL` and ORMs like [gino](https://python-gino.org/), [sqlalchemy](https://www.sqlalchemy.org/) or [databases](https://pypi.org/project/databases/) over simple [BaseStorage](aioauth/storage.py) interface.\n\n## Why this project exists?\n\nThere are few great OAuth frameworks for Python like [oauthlib](https://github.com/oauthlib/oauthlib) and [authlib](https://github.com/lepture/authlib), but they do not support asyncio and rewriting these libraries to asyncio is a significant challenge (see issues [here](https://github.com/lepture/authlib/issues/63) and [here](https://github.com/oauthlib/oauthlib/issues/415)).\n\n## Supported RFCs\n\n- [x] [The OAuth 2.0 Authorization Framework](https://tools.ietf.org/html/rfc6749)\n- [X] [OAuth 2.0 Token Introspection](https://tools.ietf.org/html/rfc7662)\n- [X] [Proof Key for Code Exchange by OAuth Public Clients](https://tools.ietf.org/html/rfc7636)\n- [x] OpenID support\n\n## Installation\n\n```\npython -m pip install aioauth\n```\n\n## FastAPI\n\nFastAPI integration stored on separated [aioauth-fastapi](https://github.com/aliev/aioauth-fastapi) repository and can be installed via the command:\n\n```\npython -m pip install aioauth[fastapi]\n```\n\n[aioauth-fastapi](https://github.com/aliev/aioauth-fastapi) repository contains demo example which I recommend to look.\n\n## [API Reference and User Guide](https://aliev.me/aioauth/)\n\n\n",
    "bugtrack_url": null,
    "license": "The MIT License (MIT)",
    "summary": "Asynchronous OAuth 2.0 framework for Python 3.",
    "version": "1.5.4",
    "project_urls": {
        "Homepage": "https://github.com/aliev/aioauth",
        "Source": "https://github.com/aliev/aioauth"
    },
    "split_keywords": [
        "asyncio",
        "oauth2",
        "oauth"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "944cd68b897705521863943962ef9491294b0ca9632c204fa43221b33098c321",
                "md5": "3f3d31494fe3b78be07ba6e34251508c",
                "sha256": "3de90f4f9dbda7fd65a744bfdf2244e7722712dace7001af8a1b6b3680cd5d6a"
            },
            "downloads": -1,
            "filename": "aioauth-1.5.4-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3f3d31494fe3b78be07ba6e34251508c",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.7.0",
            "size": 25115,
            "upload_time": "2023-05-04T16:19:16",
            "upload_time_iso_8601": "2023-05-04T16:19:16.560077Z",
            "url": "https://files.pythonhosted.org/packages/94/4c/d68b897705521863943962ef9491294b0ca9632c204fa43221b33098c321/aioauth-1.5.4-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "375e991ada8a7eb02c60ae2c95ad3283db114b3e9189b8ea421de7917ee28019",
                "md5": "547094d5ff159af4e9f4ebcde0fdf8e7",
                "sha256": "234d8bce3604881625fbf1cefc384808fcaccddefefc010bcd1d96138e03a357"
            },
            "downloads": -1,
            "filename": "aioauth-1.5.4.tar.gz",
            "has_sig": false,
            "md5_digest": "547094d5ff159af4e9f4ebcde0fdf8e7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7.0",
            "size": 20587,
            "upload_time": "2023-05-04T16:19:18",
            "upload_time_iso_8601": "2023-05-04T16:19:18.261280Z",
            "url": "https://files.pythonhosted.org/packages/37/5e/991ada8a7eb02c60ae2c95ad3283db114b3e9189b8ea421de7917ee28019/aioauth-1.5.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-04 16:19:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aliev",
    "github_project": "aioauth",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "aioauth"
}
        
Elapsed time: 0.06158s