Admin UI for zero-trust bootstrap: generate keys, publish DIDs to GitHub, issue and revoke VCs.
- frontend/ – Vite + React (dark theme). Key Gen, Publish DID, Issue VC, Revoke VC.
- backend/ – Express server for publishing DID documents to GitHub (holds
GITHUB_TOKEN).
- Node.js 18+
- Security service running (e.g.
http://localhost:3001) - GitHub Personal Access Token with
repo(orpublic_repo) for DID publish
cd security-admin-dashboard/backend
npm install
cp .env.example .env
# Edit .env: set GITHUB_TOKEN, optionally GITHUB_REPO and BASE_PATH
npm run devRuns on http://localhost:3100 by default.
cd security-admin-dashboard/frontend
npm install
cp .env.example .env
# Optional: set VITE_SECURITY_SERVICE_URL, VITE_DASHBOARD_API_URL
npm run devRuns on http://localhost:5173 by default.
- Key & DID: Generate key pair, copy or download
.envsnippet (CLIENT_DID, CLIENT_PRIVATE_KEY). Paste into client app (e.g. client-farmer).env. Then click "Publish DID to GitHub" to push the DID document (backend must haveGITHUB_TOKENandGITHUB_REPOset). - Issue VC: Enter DID, plugin ID, select permissions, submit. Security service issues the VC and stores it.
- Revoke VC: Enter VC ID (from issue response or Security), optional reason, submit.
| Variable | Description |
|---|---|
| PORT | Server port (default 3100) |
| CORS_ORIGIN | Frontend origin (default http://localhost:5173) |
| GITHUB_TOKEN | GitHub PAT with repo access |
| GITHUB_REPO | e.g. truganic/did-documents or owner/repo |
| BASE_PATH | Path prefix in repo (default empty). Use did-documents if repo root has a did-documents folder. |
| Variable | Description |
|---|---|
| VITE_SECURITY_SERVICE_URL | Security service (default http://localhost:3001) |
| VITE_DASHBOARD_API_URL | Dashboard backend (default http://localhost:3100) |