tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 };