- Add Legal Office of the Master seal (SVG design with Maltese Cross, scales of justice, legal scroll) - Create legal-office-manifest-template.json for Legal Office credentials - Update SEAL_MAPPING.md and DESIGN_GUIDE.md with Legal Office seal documentation - Complete Azure CDN infrastructure deployment: - Resource group, storage account, and container created - 17 PNG seal files uploaded to Azure Blob Storage - All manifest templates updated with Azure URLs - Configuration files generated (azure-cdn-config.env) - Add comprehensive Azure CDN setup scripts and documentation - Fix manifest URL generation to prevent double slashes - Verify all seals accessible via HTTPS
3.9 KiB
3.9 KiB
Entra VerifiedID Credential Manifest Templates
This directory contains templates and guides for creating credential manifests in Entra VerifiedID.
Manifest Templates
Default/Identity Manifest
File: default-manifest-template.json
Use this for general identity credentials. Includes:
- email (required)
- name (required)
- role (optional)
- userId (optional)
Diplomatic Manifest
File: diplomatic-manifest-template.json
Use this for Letters of Credence. Includes:
- recipientName (required)
- recipientTitle (required)
- missionCountry (required)
- missionType (required: embassy, consulate, delegation, mission)
- appointmentDate (required)
- expirationDate (optional)
Judicial Manifest
File: judicial-manifest-template.json
Use this for judicial appointments. Includes:
- role (required: judge, magistrate, justice, prosecutor)
- appointmentAuthority (required)
- jurisdiction (required)
- appointmentDate (required)
- termLength (optional)
Financial Manifest
File: financial-manifest-template.json
Use this for financial role credentials. Includes:
- role (required: financial-officer, treasurer, accountant, auditor)
- appointmentAuthority (required)
- jurisdiction (required)
- appointmentDate (required)
Creating Manifests
Step 1: Access Azure Portal
- Go to: https://portal.azure.com/#view/Microsoft_AAD_IAM/VerifiedIDBlade
- Navigate to: Verified ID → Credentials
Step 2: Create Manifest
- Click "Add credential" or "Create new credential"
- Choose "Custom credential" or appropriate template
- Configure using the JSON templates in this directory
Step 3: Configure Claims
For each claim in the template:
- Add the claim name
- Set the data type (String, Number, DateTime, Boolean)
- Mark as required if specified
- Add enum values if specified
Step 4: Configure Issuer
- Name: "The Order"
- Domain: "theorder.org" (or your domain)
- DID: Will be auto-generated (format:
did:web:<tenant-id>.verifiedid.msidentity.com)
Step 5: Save and Note Manifest ID
After creating the manifest:
- Note the Manifest ID (displayed after creation)
- Run:
./collect-manifest-ids.sh - Or manually add to
ENTRA_MANIFESTSenvironment variable
Quick Reference
Default Manifest
- Purpose: General identity credentials
- Use Case: Member identification, basic credentials
- Manifest ID Variable:
ENTRA_CREDENTIAL_MANIFEST_ID
Diplomatic Manifest
- Purpose: Letters of Credence
- Use Case: Diplomatic appointments
- Manifest Name:
diplomatic
Judicial Manifest
- Purpose: Judicial appointments
- Use Case: Judge, magistrate, justice credentials
- Manifest Name:
judicial
Financial Manifest
- Purpose: Financial role credentials
- Use Case: Financial officers, treasurers, accountants
- Manifest Name:
financial
Multi-Manifest Configuration
After creating all manifests, configure multi-manifest support:
./scripts/deploy/configure-multi-manifest.sh
Or manually set:
export ENTRA_MANIFESTS='{"default":"id1","diplomatic":"id2","judicial":"id3","financial":"id4"}'
Testing Manifests
After creating manifests, test with:
# Test default manifest
curl -X POST http://localhost:4002/vc/issue/entra \
-H "Content-Type: application/json" \
-d '{"claims": {"email": "test@example.com", "name": "Test User"}}'
# Test diplomatic manifest
curl -X POST http://localhost:4002/vc/issue/entra \
-H "Content-Type: application/json" \
-d '{"claims": {...}, "manifestName": "diplomatic"}'
Troubleshooting
Manifest Not Found
- Verify Manifest ID is correct
- Check manifest exists in Azure Portal
- Verify API permissions are granted
Invalid Claims
- Ensure claim names match exactly
- Check data types are correct
- Verify required claims are provided
Issuance Fails
- Check manifest is active
- Verify issuer DID is correct
- Review Entra API logs
Last Updated: [Current Date]