A comprehensive Python library for building OAuth and OpenID Connect clients and servers, with built-in JOSE support.
Authlib is a comprehensive Python library for implementing OAuth and OpenID Connect protocols. It provides the necessary components to build both clients that authenticate with external services and servers that act as identity providers. The library includes full support for the JOSE suite (JWS, JWE, JWK, JWA, JWT) for secure token creation and validation.
Python developers building web applications or APIs that require OAuth/OpenID Connect authentication, either as a client integrating with third-party services or as a server providing authentication services.
Developers choose Authlib for its spec-compliant, framework-agnostic core, extensive RFC support, and seamless integrations with popular Python web frameworks and HTTP clients, reducing the complexity of implementing secure authentication.
The ultimate Python library in building OAuth, OpenID Connect clients and servers. JWS, JWE, JWK, JWA, JWT included.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements OAuth 1.0, 2.0, and OpenID Connect with adherence to numerous RFCs, including core specs and extensions like PKCE and token introspection, ensuring robust and interoperable authentication.
Provides pre-built clients and providers for Flask, Django, Starlette, FastAPI, and HTTP libraries like requests and httpx, simplifying integration into existing Python web applications.
Includes full support for JWS, JWE, JWK, JWA, and JWT within the library, reducing dependency on external packages for secure token creation and validation.
Follows multiple RFC specifications with detailed documentation, promoting security best practices and reducing vulnerabilities in authentication flows.
Authlib is deprecating the authlib.jose module in favor of joserfc, requiring developers to migrate and potentially handle breaking changes, as noted in the README's migration section.
Building custom OAuth or OpenID Connect servers involves significant configuration and deep protocol understanding, which can be time-consuming and error-prone for teams without prior experience.
While open-source under BSD, commercial use requires purchasing a license, which may deter some organizations or projects from adopting it freely for proprietary applications.