Issue Your First Credential
You've started EUDIPLOโnow let's issue your first credential. This guide walks you through creating a credential configuration, setting up issuance, and sending a credential offer to a wallet.
Complete the Quick Start guide first. You should have EUDIPLO running with both backend and client:
- Backend: http://localhost:3000
- Web Client: http://localhost:4200
Understanding the Setupโ
EUDIPLO uses a hierarchical structure:
| Concept | Description |
|---|---|
| Root Account | The default admin account. Used to create and manage tenants. |
| Tenant | An isolated workspace with its own keys, credentials, and configurations. |
| Keys & Certificates | Cryptographic keys for signing credentials. Auto-generated on first use. |
| Credential Config | Defines what a credential looks like (claims, format, display). |
| Issuance Config | Groups credential configs and defines issuer metadata. |
Step 1: Login as Rootโ
- Open the Web Client at http://localhost:4200
- Enter:
- EUDIPLO Instance:
http://localhost:3000 - Client ID: Your configured
AUTH_CLIENT_ID - Client Secret: Your configured
AUTH_CLIENT_SECRET
- EUDIPLO Instance:
- Click Login
You must set these environment variables before starting the service:
AUTH_CLIENT_ID=your-client-id
AUTH_CLIENT_SECRET=your-client-secret
MASTER_SECRET=your-32-character-minimum-secret
The application will fail to start without these values. See Authentication for details.
Step 2: Create Your First Tenantโ
Tenants provide isolationโeach tenant has its own keys, credentials, and configurations.
EUDIPLO includes demo configuration files in assets/config/demo/ that can be automatically imported on startup. Set CONFIG_IMPORT_MODE=create and CONFIG_FOLDER to the config directory to import keys, certificates, credential configs, and presentation configs automatically. This is useful for development and testing.
- Navigate to Tenants in the sidebar
- Click + Create Tenant
- Fill in:
- ID:
my-org(unique identifier for the tenant) - Name:
My Organization - Description: Optional description
- Roles: Select all roles for a full setup
- ID:
- Click Save
- A dialog appears showing the client credentials for the new tenant:
- Save the secret now! It won't be shown again.
- Use the Copy buttons to save the credentials
- Click Login as this Client to switch to the new tenant immediately
Client secrets are securely hashed and cannot be retrieved later. If you lose the secret, use the Rotate Secret button in the client list to generate a new one.
Step 3: Create a Credential Configurationโ
Now define what your credential will contain and how it looks.
- Navigate to Issuance โ Credential Configs in the sidebar
- Click + Create
- Click Load Template (top-right corner) and select a template like
PID (SD-JWT VC)
Templates provide pre-configured credential types with proper claims, display settings, and formats. They're the fastest way to get started!
- Review and adjust the configuration as needed
- Click Save
Step 4: Configure Issuance Settingsโ
The issuance configuration defines how your issuer presents itself to wallets.
- Navigate to Issuance โ Issuance Config
- Configure:
- Display Name:
My Issuer - DPoP Required: Disabled โ ๏ธ
- Batch Size:
1
- Display Name:
- Click Save
Keep DPoP Required disabled for maximum wallet compatibility. Many wallets don't support DPoP yet. You can enable it later for additional security once you've verified your target wallets support it.
Step 5: Issue Your First Credential! ๐โ
Now create a credential offer and send it to a wallet.
-
Navigate to Issuance โ Sessions
-
Click + New Offer
-
Configure the offer:
- Credential: Select your credential configuration
- Flow: Select
Pre-authorized(simplest flow, no user authentication)
-
Enter the claim values:
{"given_name": "John","family_name": "Doe","birthdate": "1990-01-15"} -
Click Create Offer
-
A QR code appearsโscan it with a compatible wallet!
See Wallet Compatibility for a list of wallets that work with EUDIPLO. The EUDI Reference Wallet and Paradym Wallet are good options for testing.
What's Next?โ
You've successfully issued your first credential! Continue to:
- Request Your First Presentation โ Verify credentials from wallets