aOIDC
Suckless implementation of OpenID Connect Core for python with asyncio support in mind.
🚧 Currently under development 🚧
Also implemented:
- RFC 6749: The OAuth 2.0 Authorization Framework
- Authorization code flow
- Request with client_credentials grant
- RFC 7033: WebFinger
- RFC 7591: OAuth 2.0 Dynamic Client Registration Protocol - partically
- RFC 7636: Proof Key for Code Exchange by OAuth Public Clients
- RFC 7662: OAuth 2.0 Token Introspection
- RFC 8414: OAuth 2.0 Authorization Server Metadata
- Metadata model
-
/.well-known/oauth-authorization-serverrequest
- OpenID Connect Core
- ID Token model
- Authorization code flow
- OpenID Connect Discovery 1.0
- WebFinger discovery
- Model
-
.well-known/openid-configurationrequest
Implementation status / Roadmap
Core functional that I need from such library is simple client authentication via authorization code flow, so this will be implemented first.
- OIDC Client for
CODEflow- Basic flow
- Nonce
- OIDC Client for
PKCEflow - OIDC Client for token verification
- Basic token verification
- Advanced token verification
- OIDC Client for
client_credentialsflow
Motivation
All the existing python OIDC RP libs are the big balls of mud:
- pyoidc - synchronous, a little obscure, but the best of all existing.
- idpy-oidc - older lib from the same dev as
pyoidc. - authlib - synchronous, no typing, giant pain to use, dual licensing, bad kwargs architecture, bad docs. Worst library.
- oauthlib - synchronous, no OIDC client, only provider.
- oidc-client - not really a library.
There are few libraries which supports OAuth 2.0 & OIDC as provider (server), but they are out-of-scope.
Metadata
Release files for aoidc 0.0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aoidc-0.0.10.tar.gz | 58.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aoidc-0.0.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 92.3 kB
Release files / aoidc-0.0.10.tar.gz
| Download URL | aoidc-0.0.10.tar.gz |
|---|---|
| Size | 58.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b53edfeb1096787f99fe4cf761bde5ec731c73966150cb6b12e372c1d29057f
|
|
BLAKE2b-256 checksum How to use checksums |
cd08d278e273784a7c4b897cc2b23bb00aba22e138068bf397daec58fc9c2cdf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 23, 2026.
Transparency logRelease files / aoidc-0.0.10-py3-none-any.whl
| Download URL | aoidc-0.0.10-py3-none-any.whl |
|---|---|
| Size | 33.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aada42dac3c4b6d1075d86ad2ffe870ae2f941cda08cf628aa87ac52672c170d
|
|
BLAKE2b-256 checksum How to use checksums |
6cd495c1af5f3e2f4f006f1694126138d9f2ddf3c156c71bc61e33480285c617
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 23, 2026.
Transparency log