Microsoft Entra Verified ID: Decentralised Identity Credentials for B2B Partner Verification

Every time an employee joins a partner meeting, every time a contractor needs temporary system access, and every time HR needs to confirm a credential for a background check, someone in your organisation is making a trust decision without cryptographic proof. Microsoft Entra Verified ID replaces that manual trust gap with tamper-proof, privacy-preserving digital credentials built on the W3C Verifiable Credentials standard — and it is available to every Microsoft 365 Business Premium tenant at no additional licence cost.

What Verified ID Actually Is

Entra Verified ID is Microsoft’s implementation of decentralized identity (DID). Instead of a central database that attests “this person works here,” the credential is issued to the user’s Microsoft Authenticator wallet as a signed JSON-LD document. When a relying party (a partner portal, a job board, a compliance auditor) asks for proof, the user presents the credential from their wallet. The relying party verifies the issuer’s cryptographic signature without ever calling back to your tenant — eliminating the privacy risk of centralised verification lookups.

The underlying identifier is a DID (Decentralised Identifier), a W3C standard URI that resolves to a DID document containing public keys. Microsoft hosts the did:web method, meaning your issuer DID resolves to a JSON document at a well-known URL under your verified domain — no blockchain required, no gas fees, no exotic infrastructure.

The Three Flows You Need to Understand

1. Credential Issuance

Your tenant acts as the issuer. You define a credential manifest — a JSON configuration that specifies which claims (job title, department, employee ID, clearance level) to pull from Entra ID and embed in the credential. When an employee opens a deep link or scans a QR code, Authenticator calls the Request Service API, your tenant validates the session, and Authenticator stores the signed credential. The whole flow takes under 30 seconds.

2. Credential Presentation

The relying party (your partner’s portal, your vendor’s onboarding form, your own external-facing application) embeds a presentation request via the same Request Service API. A QR code or deep link appears. The user scans with Authenticator, selects the credential, and approves the share. The relying party receives a signed presentation containing exactly the claims you configured — nothing more. Your tenant is not involved in real-time; the signature alone provides the proof.

3. Credential Revocation

When an employee leaves, you revoke the credential in Entra Verified ID. The credential’s status entry in the Status List 2021 bitstring flips to revoked. Any subsequent presentation check by a relying party will reject the credential. Revocation propagates within minutes — no need to chase down every relying party individually.

Key Use Cases for a Small Business in Berlin

ScenarioTraditional approachWith Verified ID
Contractor onboarding to partner portalManual email with PDF copies of employment letterVerified credential issued on day one, presented at portal login
B2B guest user verificationBusiness card + LinkedIn checkPartner presents Verified ID credential from their issuing tenant
Audit / compliance evidenceHR extracts PDF report per requestAuditor receives verifiable presentation, cryptographically bound to your signing key
Temporary elevated accessIT opens a ticket, manually grants access, hopes they remember to revokeTime-limited credential gates access; revocation auto-removes access

Configuration Walkthrough

Step 1 — Enable Verified ID in Entra Admin Centre

Navigate to Entra admin centre → Verified ID → Setup. Register your organisation — provide your verified domain (the one that hosts the did:web document), organisation display name, and notification email. Microsoft provisions your DID document at https://<your-domain>/.well-known/did.json. You do not need to modify DNS; you only need the domain to be verified in Entra.

Step 2 — Create a Credential Type

Go to Credentials → Add credential. Choose “Custom credential” or one of Microsoft’s pre-built types (Verified Employee, Verified Customer). For a custom type, upload two JSON files: the rules file (which Entra ID attributes to include as claims) and the display file (how the credential card looks in Authenticator — colours, logo, localised strings). Save. Your credential type is now ready for issuance.

Step 3 — Build the Issuance Flow

You have two options: use My Account portal (zero-code, built-in — employees go to myaccount.microsoft.com, find “Verified ID,” and tap Issue) or call the Request Service API from your own application. The API path is POST https://verifiedid.did.msidentity.com/v1.0/{tenantId}/verifiableCredentials/createIssuanceRequest. The response contains a URL you encode as a QR code or deep link.

Step 4 — Build the Verification Flow

In your relying party application (or your partner’s), call POST .../createPresentationRequest with the credential type you require and the claims you want to receive. On callback, your application receives the verified claims and the presentation JWT, which you should store as audit evidence. The Face Check add-on (requires Verified ID Premium) adds a real-time liveness check that matches the credential photo against the user’s camera — useful for high-assurance onboarding.

Privacy Architecture

Verified ID is privacy-preserving by design. Microsoft does not log credential presentations — the verification happens between the user’s wallet and the relying party. Your tenant’s involvement ends at issuance. The user controls which claims to share; the relying party sees only what was requested. Pairwise DIDs (a separate sub-DID per relying party, configurable) prevent correlation across different verifiers — the job board cannot tell that the user also presented credentials to your partner portal.

For GDPR-sensitive deployments: claims embedded in the credential are signed at issuance time. If the source attribute in Entra ID changes (e.g., employee moves department), the credential does not auto-update — you either revoke and re-issue, or design your credential rules to pull attributes dynamically at issuance. Plan your refresh cadence accordingly.

Integration with the Broader Identity Stack

Verified ID is not a replacement for Entra ID — it is a complement. Your employees still authenticate with Entra (passwords, MFA, or Windows Hello for Business). Verified ID handles the attestation problem: proving identity claims to external parties without giving those parties read access to your directory. Combined with Entra External Identities B2B, you can require that partner guest accounts present a valid Verified ID credential before being added to your tenant — cryptographic proof of employment before shadow account creation.

For small businesses in Berlin operating under GDPR, Verified ID reduces the risk of unnecessary data sharing during partner onboarding. Instead of emailing a PDF employment letter (which the recipient can store indefinitely), you issue a credential that can be revoked the moment the engagement ends.

Similar Posts