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 bool hmacCreateSecret
;
28 [must_use
] attribute bool credPropsRk
;
30 [must_use
] readonly attribute AString authenticatorAttachment
;
33 // The nsIWebAuthnSignResult interface is used to construct IPDL-defined
34 // WebAuthnGetAssertionResult from either Rust or C++.
36 [uuid(05fff816
-a728
-11ed
-b9ac
-ff38cc2c8c28
)]
37 interface nsIWebAuthnSignResult
: nsISupports
{
38 readonly attribute ACString clientDataJSON
;
40 // The ID field of the PublicKeyCredentialDescriptor returned
41 // from authenticatorGetAssertion.
42 readonly attribute Array
<octet
> credentialId
;
44 // The authData field of the authenticatorGetAssertion response
45 readonly attribute Array
<octet
> authenticatorData
;
47 // The signature field of the authenticatorGetAssertion response
48 readonly attribute Array
<octet
> signature
;
50 // The ID field of the PublicKeyCredentialUserEntity returned from
51 // authenticatorGetAssertion. (Optional)
52 [must_use
] readonly attribute Array
<octet
> userHandle
;
54 // The displayName field of the PublicKeyCredentialUserEntity
55 // returned from authenticatorGetAssertion. (Optional)
56 [must_use
] readonly attribute ACString userName
;
58 // appId field of AuthenticationExtensionsClientOutputs (Optional)
59 [must_use
] attribute bool usedAppId
;
61 [must_use
] readonly attribute AString authenticatorAttachment
;