Uniform IDs address a need identified by members of 1EdTech for a standardized way to create and share identifiers across organizations. This project introduces a mechanism for these identifiers to be optionally validated by a receiving party.
This repository provides three main components:
- DID Registrar - A service for creating and managing Web DIDs (Decentralized Identifiers)
- DID Validator - A web application for validating and inspecting DID documents
- Postman Collection - API testing tools for the Uniform ID services
Decentralized Identifiers (DIDs) are a new type of identifier created, resolved, and controlled by the subject of the DID. DIDs are fully under the control of the DID subject, independent from any centralized registry, authority, or intermediary. Their implementation is inherently tied to blockchain technology, ensuring a level of security and privacy.
Web DID was chosen for this project as it enables organizations to create an unlimited number of identifiers that can be associated with their domain name. As such, the controller of a domain inherently becomes the controller of the identifiers.
The DID Registrar is a service built using the Veramo Library that provides REST APIs for creating and managing Web DIDs and their associated services.
Important Note: This open-source version has authentication removed to keep it simple. Users must apply their own business logic and security measures. Reach out to 1EdTech if you need assistance with enterprise-grade authentication and security.
Key Features:
- Create and manage Web DIDs
- Add and remove DID services
- Manage DID aliases (AlsoKnownAs)
- DID document resolution
- Support for multiple database backends (SQLite, MySQL, PostgreSQL)
- Docker and Kubernetes support
Documentation: See registrar/README.md for detailed setup and usage instructions.
The DID Validator is a Next.js web application designed to validate and inspect issued Web DID addresses seamlessly.
Live Demo: A running version is available at https://uniformid.1edtech.org
Key Features:
- Validate DID documents
- Inspect DID services and keys
- Visual representation of DID structure
- Support for various DID methods
Documentation: See validator/README.md for setup and usage instructions.
The Postman Collection provides comprehensive API testing tools for the Uniform ID services.
Contents:
UniformIDOpenSource.postman_collection.json
- Complete API test collectionLocalDev.postman_environment.json
- Environment configuration for local development
Usage: Import these files into Postman to test the Uniform ID APIs with pre-configured requests and environments.
Web DIDs are inherently tied to domain names and require HTTPS/TLS for proper resolution. For example:
did:web:example.com:user:bob
resolves tohttps://example.com/user/bob.json
For local development, you can use ngrok to create a secure tunnel with TLS:
- Install ngrok:
npm install -g ngrok
or download from ngrok.com - Start your local service (e.g., registrar on port 3000)
- Create a tunnel:
ngrok http 3000
- Use the provided HTTPS URL (e.g.,
https://abc123.ngrok.dev
) as your domain
This setup provides the TLS certificate required for did:web resolution while developing locally.
- Start the Registrar: Follow instructions in registrar/README.md
- Run the Validator: Follow instructions in validator/README.md
- Test the APIs: Import the Postman collection for comprehensive API testing
For enterprise support, authentication integration, or custom implementations, please reach out to 1EdTech.