1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include
"nsISupports.idl"
8 [uuid(0567c384
-a728
-11ed
-85f7
-030324a370f0
)]
9 interface nsIWebAuthnRegisterResult
: nsISupports
{
10 readonly attribute ACString clientDataJSON
;
12 // The serialied attestation object as defined in
13 // https://www.w3.org/TR/webauthn-2/#sctn-attestation
14 // Includes the format, the attestation statement, and
15 // the authenticator data.
16 readonly attribute Array
<octet
> attestationObject
;
18 // The Credential ID field of the Attestation Object's Attested
19 // Credential Data. This is used to construct the rawID field of a
20 // WebAuthn PublicKeyCredential without having to parse the
22 readonly attribute Array
<octet
> credentialId
;
24 readonly attribute Array
<AString
> transports
;
26 readonly attribute
boolean hmacCreateSecret
;
28 [must_use
] attribute
boolean credPropsRk
;
30 readonly attribute
boolean prfEnabled
;
31 readonly attribute Array
<octet
> prfResultsFirst
;
32 readonly attribute Array
<octet
> prfResultsSecond
;
34 [must_use
] readonly attribute AString authenticatorAttachment
;
36 boolean hasIdentifyingAttestation
();
40 // The nsIWebAuthnSignResult interface is used to construct IPDL-defined
41 // WebAuthnGetAssertionResult from either Rust or C++.
43 [uuid(05fff816
-a728
-11ed
-b9ac
-ff38cc2c8c28
)]
44 interface nsIWebAuthnSignResult
: nsISupports
{
45 readonly attribute ACString clientDataJSON
;
47 // The ID field of the PublicKeyCredentialDescriptor returned
48 // from authenticatorGetAssertion.
49 readonly attribute Array
<octet
> credentialId
;
51 // The authData field of the authenticatorGetAssertion response
52 readonly attribute Array
<octet
> authenticatorData
;
54 // The signature field of the authenticatorGetAssertion response
55 readonly attribute Array
<octet
> signature
;
57 // The ID field of the PublicKeyCredentialUserEntity returned from
58 // authenticatorGetAssertion. (Optional)
59 [must_use
] readonly attribute Array
<octet
> userHandle
;
61 // The displayName field of the PublicKeyCredentialUserEntity
62 // returned from authenticatorGetAssertion. (Optional)
63 [must_use
] readonly attribute ACString userName
;
65 // appId field of AuthenticationExtensionsClientOutputs (Optional)
66 [must_use
] attribute
boolean usedAppId
;
68 readonly attribute
boolean prfMaybe
; // prf output can be present but empty
69 readonly attribute Array
<octet
> prfResultsFirst
;
70 readonly attribute Array
<octet
> prfResultsSecond
;
72 [must_use
] readonly attribute AString authenticatorAttachment
;