django-oidc-provider
OpenID Connect Provider implementation for Django.
What it is and what it does
django-oidc-provider is a Django application that implements an OpenID Connect and OAuth 2.0 authorization server. It provides the endpoints, token generation, user authentication flows, and profile information endpoints needed to turn a Django application into an identity provider that other applications can authenticate against.
The package handles the server-side logic for issuing tokens, validating credentials, and exposing standard OIDC discovery and user info endpoints. It depends on PyJWT for token signing and cryptography for cryptographic operations. The package is marked as Production/Stable and supports Python 3.8, 3.9, 3.10, 3.11, 3.12, and 3.13, making it suitable for modern Django deployments that need to act as a centralized authentication provider.
Use it for:
- Build a centralized identity provider for a suite of internal or third-party applications that need to authenticate users via OpenID Connect.
- Add OAuth 2.0 and OIDC capabilities to an existing Django application to allow external services to authenticate against it.
- Implement single sign-on infrastructure where Django serves as the authorization server for multiple client applications.
- Provide standardized token-based authentication endpoints for mobile apps and SPAs that need to verify user identity.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides OpenID Connect and OAuth 2.0 server endpoints, authentication logic, and token management for Django applications, allowing them to act as identity providers.
Yes, with conditions. The package is stable, permissively licensed, and has low install friction. However, its aging maintenance status (325 days since last release) means you should verify that it meets your Django and Python version requirements and check whether the documentation covers your use case. For new OIDC provider implementations in Django, this is a reasonable choice if you accept the slower update cadence.
Install
django-oidc-provider on PyPI
pip
pip install django-oidc-provideruv
uv add django-oidc-providerpoetry
poetry add django-oidc-providerInstalling django-oidc-provider
Before you install
Low install friction with only two runtime dependencies (PyJWT and cryptography). Maintenance status is aging—last release was 325 days ago, though the repository remains active with a recent commit on 2025-12-03 and 451 stars.
License in practice
MIT License (permissive) means you can use, modify, and distribute this package freely in both open-source and commercial projects with minimal restrictions.
Quickstart
pip install django-oidc-provider
Add to Django INSTALLED_APPS and configure URL endpoints to expose OpenID Connect server capabilities. Requires PyJWT and cryptography for token signing and cryptographic operations.
Requires a Django project; depends on PyJWT and cryptography being installed.
Verify before relying
- Whether aging maintenance (325 days since release) indicates planned updates or gradual deprecation.
- Current state of documentation and whether it covers supported Django versions adequately.
- Specific OIDC/OAuth 2.0 flows and grant types supported by this version.
Package facts
| License | MIT License (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — PyJWT, cryptography |
| Maintenance | aging — 325 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 73,951/month — #14,900 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_oidc_provider-0.9.0-py2.py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
flask-oidcAdds OpenID Connect authentication support to…
permissive · top 5,000 on PyPI
mozilla-django-oidcIntegrates Django applications with OpenID…
copyleft · top 5,000 on PyPI
oidc-provider-mockA mock OpenID Connect provider server that runs…
permissive · top 15,000 on PyPI
oicA complete Python implementation of OpenID…
permissive · top 15,000 on PyPI
pyopImplements an OpenID Connect Provider (OP)…
permissive · top 15,000 on PyPI
django-oauth-toolkitAdds OAuth2 authorization server capabilities…
permissive · top 5,000 on PyPI
intuit-oauthProvides OAuth2 and OpenID Connect…
permissive · top 5,000 on PyPI
django-scim2Implements the SCIM 2.0 provider specification…
permissive · top 5,000 on PyPI
oauthenticatorOAuthenticator provides OAuth2 login handlers…
permissive · top 15,000 on PyPI
openfga-sdkPython SDK for OpenFGA that wraps the OpenFGA…
permissive · top 5,000 on PyPI