🔐 aioauth
aioauth is a spec-compliant OAuth 2.0 asynchronous Python module. aioauth works out-of-the-box with asynchronous server frameworks like FastAPI, Starlette, aiohttp, and others, as well as asynchronous database modules like Motor (MongoDB), aiopg (PostgreSQL), aiomysql (MySQL), or ORMs like Gino, sqlalchemy, or Tortoise.
The magic of aioauth is its plug-and-play methods that allow the use of virtually any server or database framework.
Installing
To install aioauth at the command line:
$ pip install aioauth
To install pre-releases:
$ pip install git+https://github.com/aliev/aioauth
Supported RFC
aioauth supports the following RFCs:
Pages
Sections
- Collections
- Config
- Constances
- Errors
MethodNotAllowedError
InvalidRequestError
InvalidClientError
InsecureTransportError
UnsupportedGrantTypeError
UnsupportedResponseTypeError
InvalidGrantError
MismatchingStateError
UnauthorizedClientError
InvalidScopeError
ServerError
TemporarilyUnavailableError
InvalidRedirectURIError
UnsupportedTokenTypeError
- Grant Type
- Models
Client
AuthorizationCode
AuthorizationCode.code
AuthorizationCode.client_id
AuthorizationCode.redirect_uri
AuthorizationCode.response_type
AuthorizationCode.scope
AuthorizationCode.auth_time
AuthorizationCode.expires_in
AuthorizationCode.code_challenge
AuthorizationCode.code_challenge_method
AuthorizationCode.nonce
AuthorizationCode.user
AuthorizationCode.check_code_challenge()
AuthorizationCode.is_expired
Token
- Requests
- Response Type
- Responses
- Server
AuthorizationServer
AuthorizationServer.response_types
AuthorizationServer.grant_types
AuthorizationServer.is_secure_transport()
AuthorizationServer.validate_request()
AuthorizationServer.create_token_introspection_response()
AuthorizationServer.get_client_credentials()
AuthorizationServer.create_token_response()
AuthorizationServer.create_authorization_response()
AuthorizationServer.revoke_token()
- Storage
- Types
- Utils