Closed Bug 1431137 Opened 6 years ago Closed 2 years ago

Our CredentialRequestOptions doesn't look much like the spec's

Categories

(Core :: DOM: Web Authentication, enhancement, P2)

enhancement

Tracking

()

RESOLVED INVALID

People

(Reporter: bzbarsky, Assigned: jcj)

References

Details

(Whiteboard: [webauthn] [webauthn-interop][credman])

We have:

  dictionary CredentialRequestOptions {
    PublicKeyCredentialRequestOptions publicKey;
    AbortSignal signal;
  };

whereas the spec at https://www.w3.org/TR/credential-management-1/ (what our IDL file links to) has:

  dictionary CredentialRequestOptions {
    CredentialMediationRequirement mediation = "optional";
  };
  partial dictionary CredentialRequestOptions {
    boolean password = false;
  };
  partial dictionary CredentialRequestOptions {
    FederatedCredentialRequestOptions federated;
  };

and the editor's draft at https://w3c.github.io/webappsec-credential-management/ has:

  dictionary CredentialRequestOptions {
    CredentialMediationRequirement mediation = "optional";
    AbortSignal signal;
  };
  partial dictionary CredentialRequestOptions {
    boolean password = false;
  };
  partial dictionary CredentialRequestOptions {
    FederatedCredentialRequestOptions federated;
  };

In either case, the spec does not have a PublicKeyCredentialRequestOptions member.  This is a serious compat issue, because {} is a valid value for the spec dictionary, but not for ours.
Flags: needinfo?(jjones)
Thanks, bz; a side-effect of our minimum credman implementation. I'll find the minimum change that fixes this and produce a patch, and see if I can turn on some more of the webIDL web platform tests.
Assignee: nobody → jjones
Status: NEW → ASSIGNED
Flags: needinfo?(jjones)
OS: Unspecified → All
Priority: -- → P1
Hardware: Unspecified → All
Whiteboard: [webauthn] [webauthn-interop][credman]
Oh, this is coming from https://w3c.github.io/webauthn/#credentialrequestoptions-extension ?

Seems like this should be fixed in webauthn, then, since it's making {} an invalid value for CredentialRequestOptions, which seems pretty dubious to me.
Actually, it looks like webauthn may be depending on some IDL behavior that https://github.com/heycam/webidl/issues/76 proposes changing, and Gecko implements the post-change behavior.
Priority: P1 → P2
Component: DOM: Device Interfaces → DOM: Web Authentication

Since this actually matches the Webauthn spec as it is today, I'm closing this.

Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.