Authlib is an ambitious authentication library for OAuth 1, OAuth 2, OpenID clients, servers and more.
Authlib is compatible with Python2.7+ and Python3.5+.
Lovely features that Authlib has built-in:
- RFC5849: The OAuth 1.0 Protocol
- RFC6749: The OAuth 2.0 Authorization Framework
- RFC6750: The OAuth 2.0 Authorization Framework: Bearer Token Usage
- RFC7009: OAuth 2.0 Token Revocation
- RFC7515: JSON Web Signature (JWS)
- RFC7516: JSON Web Encryption (JWE)
- RFC7517: JSON Web Key (JWK)
- RFC7518: JSON Web Algorithms (JWA)
- RFC7519: JSON Web Token (JWT)
- RFC7521: Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants
- RFC7522: Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants
- RFC7523: JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants
- RFC7591: OAuth 2.0 Dynamic Client Registration Protocol
- RFC7592: OAuth 2.0 Dynamic Client Registration Management Protocol
- RFC7636: Proof Key for Code Exchange by OAuth Public Clients
- RFC7662: OAuth 2.0 Token Introspection
- OpenID Connect 1.0
- OpenID Discovery
And more will be added.
Framework integrations with current specification implementations:
- Requests OAuth 1 Session
- Requests OAuth 2 Session
- Flask OAuth 1/2 Client
- Django OAuth 1/2 Client
- Flask OAuth 1 Server
- Flask OAuth 2 Server
- Flask OpenID Connect Server
- Django OAuth 1 Server
- Django OAuth 2 Server
- Django OpenID Connect Server
If you found security bugs which can not be public, please send me email at [email protected]. Attachment with patch is welcome. My PGP Key fingerprint is:
72F8 E895 A70C EBDF 4F2A DFE0 7E55 E3E0 118B 2B4C
You can also find it at https://keybase.io/lepture.
- Take a look at Authlib Homepage
- Get more information with Authlib Documentation
- Have a taste with Authlib Playground
- Stay tuned with Authlib Newsletter
- Get latest news via Authlib on Twitter
- Ask questions on StackOverflow with Authlib Tag
Authlib is licensed under LGPLv3. Please see LICENSE for licensing details.
If this license does not fit your company, consider to purchase a commercial license.
Find more information on https://authlib.org/support#commercial-license