Websites can and do get credentials from mobile wallet apps through a variety of mechanisms today (custom URL handlers, QR code scanning, etc.). This Web Platform feature would allow sites to request identity information from wallets via Android's IdentityCredential CredMan system. It is extensible to support multiple credential formats (eg. ISO mDoc and W3C verifiable credential) and allows multiple wallet apps to be used. Mechanisms are being added to help reduce the risk of ecosystem-scale abuse of real-world identity (see https://docs.google.com/document/u/1/d/1L68tmNXCQXucsCV8eS8CBd_F9FZ6TNwKNOaFkA8RfwI/edit ).
There are multiple standards efforts involved here. We have been working with WebKit and Mozilla in the WICG on defining this specific API. But the greater interoperability risk will come from the data that is sent and returned via this API. Details of that are still in discussions but mostly driven outside the web browser community in the OpenID Foundation (eg. OpenID4VP: https://openid.net/specs/openid-4-verifiable-presentations-1_0.html ) and ISO (18013-7 "mdoc": https://www.iso.org/standard/82772.html )
There's a possibility that these credentials will be used alongside other types of credentials in the future - such as optionally minting a passkey when a digital credential is used to sign up for a site, or by allowing sign-up with either a digital credential or a federated credential via FedCM. As such we argued it was best to put this work in the context of the Credential Management API, and hence the support is added in 'navigator.identity.get() API .
The primary activation concern is enabling existing deployments using technology like OpenID4VP to be able to also support this API. As such we have left the request protocol unspecified at this layer, to be specified along with existing request protocols to maximize activation opportunity.
See https://github.com/WICG/digital-credentials/blob/main/horizontal-reviews/security-privacy.md and https://github.com/w3c-fedid/digital-credentials/issues/115
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
This feature does not deprecate or change the behavior of existing APIs. This feature adds a new feature via extending the existing navigator.credentials.get() with a new type.
None necessary - just new JS API. For testing we may want to add a developer option to provide a fake wallet (as for the devtools fake authenticator for WebAuthn), but this is not urgent.
Android and Desktop Only
https://wpt.fyi/results/digital-credentials?label=master&label=experimental&aligned
Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function?
This API passes the request from the verifier website to the underlying operating system. Therefore on Android, it replies on the Credential Manager API. This is widely deployed via GMSCore though.Shipping on desktop | 141 |
Origin trial desktop first | 134 |
---|---|
Origin trial desktop last | 140 |
Origin trial extension 1 end milestone | 140 |
Origin trial extension 2 end milestone | 139 |
Origin trial extension 3 end milestone | 136 |
DevTrial on desktop | 133 |
Shipping on Android | 141 |
Origin trial Android first | 128 |
Origin trial Android last | 140 |
DevTrial on Android | 119 |
Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
Contact emails
rby...@chromium.org , go...@chromium.org , ma...@chromium.org , ashim...@google.com
Explainer
https://github.com/w3c-fedid/digital-credentials/blob/main/explainer.md
Specification
https://w3c-fedid.github.io/digital-credentials
Summary
Websites can and do get credentials from mobile wallet apps through a variety of mechanisms today (custom URL handlers, QR code scanning, etc.). This Web Platform feature would allow sites to request identity information from wallets via Android's IdentityCredential CredMan system. It is extensible to support multiple credential formats (eg. ISO mDoc and W3C verifiable credential) and allows multiple wallet apps to be used. Mechanisms are being added to help reduce the risk of ecosystem-scale abuse of real-world identity (see https://docs.google.com/document/u/1/d/1L68tmNXCQXucsCV8eS8CBd_F9FZ6TNwKNOaFkA8RfwI/edit ).
Blink component
Blink>Identity>DigitalCredentials
TAG review
Mozilla feedback from Martin (also on the TAG) suggests we need to invest more in the threat model for the larger space and clarify specific privacy mitigations before shipping or requesting TAG review.
TAG review status
Issues open
Origin Trial Name
Digital Credentials API
Chromium Trial Name
WebIdentityDigitalCredentials
Origin Trial documentation link
https://wicg.github.io/digital-credentials
WebFeature UseCounter name
kIdentityDigitalCredentials
Risks
Interoperability and Compatibility
There are multiple standards efforts involved here. We have been working with WebKit and Mozilla in the WICG on defining this specific API. But the greater interoperability risk will come from the data that is sent and returned via this API. Details of that are still in discussions but mostly driven outside the web browser community in the OpenID Foundation (eg. OpenID4VP: https://openid.net/specs/openid-4-verifiable-presentations-1_0.html ) and ISO (18013-7 "mdoc": https://www.iso.org/standard/82772.html )
Gecko : Negative ( https://github.com/mozilla/standards-positions/issues/1003 ) We share most of Mozilla's concerns and continue to work with them (and the broader community) on mitigations. I believe we feel greater risk for the established practice of custom schemes becoming prevalent than Mozilla does (eg. due to Google being mandated by eIDAS regulation to accept EUDI credentials).
WebKit : In development ( https://github.com/WebKit/standards-positions/issues/332 ) WebKit implementation progress: https://bugs.webkit.org/show_bug.cgi?id=268516
The parenthetical in the Intent title "(presentation support)" seems to imply that this intent covers only part of Digital Credentials API, and maybe more of it will ship at another time. Is that right, or am I reading too much into it?
Per the comment here the explainer at https://github.com/w3c-fedid/digital-credentials/blob/main/explainer.md is outdated and reflects an earlier proposal. So should we be disregarding that explainer and just looking at the introductory sections of the spec instead, or is there a list somewhere of what's changed?
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org .
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-8oB2_WO5RFF0gkG-sOcz_DsvuR6L0QJ_yREGg2bN2MQ%40mail.gmail.com .
Hey Mohamed,We generally expect explainers to be updated throughout the life of a feature. LGTM1, conditional on the explainer being updated with up-to-date example code for both the problem and proposed solution.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org .
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7b83a6c1-53ae-4dd4-8eb4-549daf8126a1n%40chromium.org .
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org .
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org .
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org .