oidc-provider-mock
OpenID Connect provider server for testing authentication
Decision gist · record as of 2026-08-14
Yes, if you are testing or developing OIDC-based authentication. The package is actively maintained, has no known vulnerabilities, installs easily, and solves a real testing problem. The Python version mismatch (classifiers vs. requires_python) should be clarified before use, but the core functionality is sound for test environments.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.12; the package classifiers list 3.8–3.11 support but the metadata specifies 3.12 as the minimum.
- Low friction install with a pure Python wheel.
- Active maintenance—last commit 2026-08-14, released 2026-06-29.
License · maintenance · safety
MIT (permissive) — MIT license (permissive). You can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2026-06-29 (46 days) · last repo commit 2026-08-14 · 42 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 98,780 downloads/mo, #13,060 on PyPI
Alternatives
Verify before relying
pipx run oidc-provider-mock
# Or in code:
import oidc_provider_mock
with oidc_provider_mock.run_server_in_thread() as server:
issuer_url = f"http://localhost:{server.server_port}"- Whether the Python 3.8–3.11 classifiers reflect actual tested support or are outdated given the >=3.12 requirement.
- Performance characteristics under load (e.g., concurrent test sessions or high-frequency user provisioning).
- Whether custom claims and error simulation cover all OIDC flows needed for your use case.
What it is and what it does
oidc-provider-mock is a lightweight OpenID Connect provider server designed for local testing and development. It runs as a standalone server (via CLI or Docker) or embedded in test code, accepting any client ID and secret by default and providing a simple HTML login form where you can specify the authenticated user. You configure it as your OIDC issuer URL in your application, then use its HTTP API to set up test users and claims before running authentication flows.
The package is built on Flask, uvicorn, authlib, and joserfc, and is intended for integration tests and end-to-end test suites—not for production. It lets you test OIDC flows (authorization code, implicit, etc.) without external dependencies, and supports custom claims and error simulation to cover edge cases in your authentication logic.
Use it for
- Integration testing of OIDC client libraries (e.g., Flask-OIDC) in CI/CD pipelines without external provider setup.
- End-to-end testing of login flows in web apps using Playwright or similar tools with a controllable mock identity provider.
- Local development of multi-tenant or federated authentication systems where you need to simulate different user identities and claims.
- Testing error handling and edge cases in OIDC flows (e.g., denied authorization, malformed tokens) in a controlled environment.
- Rapid prototyping of authentication UX before integrating with a real identity provider.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are testing or developing OIDC-based authentication.
The package is actively maintained, has no known vulnerabilities, installs easily, and solves a real testing problem. The Python version mismatch (classifiers vs. requires_python) should be clarified before use, but the core functionality is sound for test environments.
Install
oidc-provider-mock on PyPI
Before you install
Low friction install with a pure Python wheel. Active maintenance—last commit 2026-08-14, released 2026-06-29. Supports Python 3.8 through 3.11, though the package requires Python >=3.12.
Requires Python >=3.12; the package classifiers list 3.8–3.11 support but the metadata specifies 3.12 as the minimum.
License in practice
MIT license (permissive). You can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pipx run oidc-provider-mock
# Or in code:
import oidc_provider_mock
with oidc_provider_mock.run_server_in_thread() as server:
issuer_url = f"http://localhost:{server.server_port}"
Verify before relying
- Whether the Python 3.8–3.11 classifiers reflect actual tested support or are outdated given the >=3.12 requirement.
- Performance characteristics under load (e.g., concurrent test sessions or high-frequency user provisioning).
- Whether custom claims and error simulation cover all OIDC flows needed for your use case.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 9 packagesauthlibflaskhtpyhttpxjoserfcpydanticpyyamltyping-extensionsuvicorn |
| Maintenance | Actively maintained 46 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 98,780 / month, #13,060 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Internet :: WWW/HTTP :: HTTP ServersTopic :: SecurityTopic :: Software Development :: TestingTopic :: Software Development :: Testing :: Mocking |
Evidence: oidc_provider_mock-0.4.6-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “openid connect mock server”
- oidc-provider-mockA mock OpenID Connect provider server that runs locally to test and…
- oicA complete Python implementation of OpenID Connect and OAuth 2.0…
- pyopImplements an OpenID Connect Provider (OP) library that handles…
Give your agent the search over MCP, or paste the wish link into any chat.
More Testing packages
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.
Install it if you write tests for any asyncio-based code.
A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.
Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.
See also django-oidc-provider · flask-oidc · pyop · mozilla-django-oidc · sanic-testing · id · oic · Flask-OpenID · python-keycloak · dash-auth