aioauth implements OAuth 2.0 protocol and can be used in asynchronous frameworks like FastAPI / Starlette, aiohttp. It can work with any databases like MongoDB, PostgreSQL, MySQL and ORMs like gino, sqlalchemy or databases over simple BaseStorage interface.
Why this project exists?
There are few great OAuth frameworks for Python like oauthlib and authlib, but they do not support asyncio and rewriting these libraries to asyncio is a significant challenge (see issues here and here).
Supported RFCs
- The OAuth 2.0 Authorization Framework
- OAuth 2.0 Token Introspection
- Proof Key for Code Exchange by OAuth Public Clients
- OpenID support
Installation
python -m pip install aioauth
Examples
The project example is located in the examples directory and uses FastAPI as the server.