demo ยท v133
Issuance flow builder — mDL onboarding
Wire up the issuance request for the W3C explainer's marquee use case: a state DMV provisioning a mobile driver's license into the user's wallet. Pick the issuer profile, sign-in proof, and claim set; the page builds the exact navigator.credentials.create({ digital }) options object.
chrome://flags/#web-identity-digital-credentials and join the Digital Credentials origin trial. Without it the call rejects with NotSupportedError; the demo logs whatever returned.
1. issuer profile
2. user proof at issuer
3. generated request
{ }
why issuance shipped first
Presentation got the spotlight, but issuance is the missing half: without a standard API for "please put this credential in my wallet", every state DMV, university, and bank had its own custom URL handler, QR code scanner, or deep-link scheme. The Chrome 133 issuance support adds the symmetric navigator.credentials.create({ digital }) path. The browser brokers between the website and CredMan / a wallet that registered as an issuer target, so the protocol selection (OpenID4VCI, ISO 18013-7) is one knob instead of fifteen.
const cred = await navigator.credentials.create({
digital: {
providers: [{
protocol: "openid4vci",
request: { /* issuer-specific blob */ }
}]
}
});