-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add clientData #95
Comments
Can we see an example of this data structure in the context of the existing navigator APIs? |
[Exposed=Window, SecureContext]
interface DigitalCredential : Credential {
readonly attribute DOMString protocol;
readonly attribute DOMString data;
// clientDataJSON is a Base64 encoded URL String
readonly attribute DOMString clientDataJSON;
}; |
Question for discussion in the F2F/hybrid meeting: should we put a hash of the request object into clientData? Otherwise there is nothing to correlate in clientData. In WebAuthn, the challenge is included in clientData. For the DC API, any nonce or state is part of the request properties. |
Outcome from 2024-06-21 hybrid meeting discussion: add clientData without TLS session context and with hash of the request object. |
From editor's discussion: clientData would be valuable if the wallet had to sign over this data as part of their presentation. Since that is not required in OID4VP, adding this would only be for development convenience as Can discuss again in the future. Closing issue. |
In WebAuthn, we have
clientDataJSON
andclientDataHash
, which represent contextual bindings for both the relying party and client.clientDataJSON
is a JSON object containing properties enumerated by the WebAuthn client. This is then hashed (SHA-256),clientDataHash
, and passed to the authenticator who then signs over it as part of the ceremony. The originalclientDataJSON
is passed back to the relying party by the client in the response.For the Digital Credentials API, we need to get the origin from the web platform down to the app platform and over to the wallet. And as we consider cross-origin and iframe usage,
topOrigin
andcrossOrigin
become important properties. There have also been discussions around the client's TLS session context being valuable to a wallet (#46, #81). Therefore it may make sense to to have aclientData
-like property in the Digital Credentials API.Potential structure for clientDataJSON, inspired by WebAuthn:
While issuance is not in scope for the initial work stream, we expect the API to also be used for invoking issuance at some point in the future, so it would be good to include
type
day 1.The text was updated successfully, but these errors were encountered: