Open ID Connect based identity provider for large-scale authentication, from MOSIP. This repository holds the Go-based esignet-service embedder (the OIDC/OAuth2 provider itself), its UI, and supporting deployment/test tooling.
| Path | Purpose |
|---|---|
esignet-service/ |
Go service embedding the ThunderID authorization engine — PostgreSQL-backed client management, Redis-backed session/flow storage, pluggable authentication (mock, MOSIP IDA, SunbirdRC KBI). The core of this repo. |
oidc-ui/ |
React + TypeScript + Vite UI for the OIDC login/consent screens. |
docs/ |
Architecture, configuration reference, and resource-server/permission-scope docs. |
postman-collection/ |
Postman collection + environment for manual/scripted checks against esignet-service. |
docker-compose/ |
Local Postgres + Redis for esignet-service development. |
deploy/ |
Kubernetes deployment guide and scripts. |
helm/ |
Helm charts (esignet, oidc-ui). |
db_scripts/ |
SQL scripts to create the database and tables. |
db_upgrade_script/ |
SQL migration (upgrade/rollback) scripts, named by version. |
partner-onboarder/ |
Exchanges certificates for the eSignet MISP partner. |
api-test/ |
Go black-box API test harness for a running deployment: OpenID Conformance Suite, client-mgmt + flow/execute (godog), and an end-to-end OAuth client — consolidated into one HTML report. |
ui-test/ |
Cucumber + TestNG + Selenium UI automation framework. |
performance-test/ |
JMeter performance test scripts. |
docker-compose/README.md — step-by-step guide covering prerequisites, which services come up in each compose file, health verification, database initialization, the OIDC happy flow, troubleshooting, and teardown.
Quick reference:
# Full demo (PostgreSQL + Mock ID + eSignet service + OIDC UI)
cd docker-compose && docker compose up -d
# Dev dependencies only (PostgreSQL + Mock ID, for running the service from source)
cd docker-compose && docker compose -f dependent-docker-compose.yaml up -dEach subproject is independently built and tested; see its own README (linked above) for its specific prerequisites and commands.
Mozilla Public License 2.0 — see LICENSE. Third-party dependency licenses — see THIRD-PARTY-NOTICES.txt.