nsIWebAuthnResult.idl (3048B)
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/. */ 5 6 #include "nsISupports.idl" 7 8 [uuid(0567c384-a728-11ed-85f7-030324a370f0)] 9 interface nsIWebAuthnRegisterResult : nsISupports { 10 readonly attribute ACString clientDataJSON; 11 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; 17 18 readonly attribute boolean attestationConsentPromptShown; 19 20 // The Credential ID field of the Attestation Object's Attested 21 // Credential Data. This is used to construct the rawID field of a 22 // WebAuthn PublicKeyCredential without having to parse the 23 // attestationObject. 24 readonly attribute Array<octet> credentialId; 25 26 readonly attribute Array<AString> transports; 27 28 readonly attribute boolean hmacCreateSecret; 29 30 [must_use] attribute boolean credPropsRk; 31 32 readonly attribute boolean largeBlobSupported; 33 34 readonly attribute boolean prfEnabled; 35 readonly attribute Array<octet> prfResultsFirst; 36 readonly attribute Array<octet> prfResultsSecond; 37 38 [must_use] readonly attribute AString authenticatorAttachment; 39 40 boolean hasIdentifyingAttestation(); 41 void anonymize(); 42 }; 43 44 // The nsIWebAuthnSignResult interface is used to construct IPDL-defined 45 // WebAuthnGetAssertionResult from either Rust or C++. 46 // 47 [uuid(05fff816-a728-11ed-b9ac-ff38cc2c8c28)] 48 interface nsIWebAuthnSignResult : nsISupports { 49 readonly attribute ACString clientDataJSON; 50 51 // The ID field of the PublicKeyCredentialDescriptor returned 52 // from authenticatorGetAssertion. 53 readonly attribute Array<octet> credentialId; 54 55 // The authData field of the authenticatorGetAssertion response 56 readonly attribute Array<octet> authenticatorData; 57 58 // The signature field of the authenticatorGetAssertion response 59 readonly attribute Array<octet> signature; 60 61 // The ID field of the PublicKeyCredentialUserEntity returned from 62 // authenticatorGetAssertion. (Optional) 63 [must_use] readonly attribute Array<octet> userHandle; 64 65 // The displayName field of the PublicKeyCredentialUserEntity 66 // returned from authenticatorGetAssertion. (Optional) 67 [must_use] readonly attribute ACString userName; 68 69 // appId field of AuthenticationExtensionsClientOutputs (Optional) 70 [must_use] attribute boolean usedAppId; 71 72 readonly attribute Array<octet> largeBlobValue; 73 readonly attribute boolean largeBlobWritten; 74 75 readonly attribute boolean prfMaybe; // prf output can be present but empty 76 readonly attribute Array<octet> prfResultsFirst; 77 readonly attribute Array<octet> prfResultsSecond; 78 79 [must_use] readonly attribute AString authenticatorAttachment; 80 };