<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SurePassIdApiServer</name>
    </assembly>
    <members>
        <member name="M:SurePassIdApiServer.Attributes.MfaServerApiKeyAttribute.GetTenantBySingleTenantDomainNameOrApiKey(Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext,System.String,System.String)">
            <summary>
            If single tenant is configure, that tenant will be provided. Otherwise, get the tenant from the X-Api-Key header data.
            </summary>
            <param name="context"></param>
            <param name="accessLogin"></param>
            <param name="accessKey"></param>
            <returns>Returns a validated Tenant or null if unable to get a valid tenant.</returns>
        </member>
        <member name="M:SurePassIdApiServer.Constants.FIDO2.Algorithm.IsEccAlgorithm(System.String)">
            <summary>
            
            </summary>
            <param name="alg"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Constants.FIDO2.Algorithm.IsRsaAlgorithm(System.String)">
            <summary>
            
            </summary>
            <param name="alg"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Constants.FIDO2.Algorithm.Decode(System.Int32)">
            <summary>
            
            </summary>
            <param name="alg"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Constants.FIDO2.Algorithm.EncodeToInt(System.String)">
            <summary>
            
            </summary>
            <param name="alg"></param>
            <returns></returns>
        </member>
        <member name="P:SurePassIdApiServer.Controllers.SurePassBaseController.ApiKeyTenant">
            <summary>
            Value is set by MfaServerApiKeyAttribute.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.Controllers.SurePassBaseController.AuthenticatedUser">
            <summary>
            Value is set by MfaServerGlobalActionFilter
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.Controllers.UafController.Get(SurePassIdApiServer.Models.UafServerRequest)">
            <summary>
            Initialize UAF command.
            </summary>
            <remarks>
            Begins the process of registering a UAF authenticator, returns a JSON collection of RegistrationRequest objects.
            </remarks>
            <param name="request">Request object containing command information</param>
            <response code="200"></response>
        </member>
        <member name="M:SurePassIdApiServer.Controllers.UafController.Respond(SurePassIdApiServer.Models.UafServerRequest)">
            <summary>
            Completes UAF commands.
            </summary>
            <param name="request">Request object containing command information</param>
            <returns></returns>
            <response code="200"></response>
        </member>
        <member name="M:SurePassIdApiServer.Utility.CryptoUtility.VerifyFullAttestation(System.Collections.Generic.List{SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract},System.String)">
            <summary>
            Verifies attestation certificate using Full basic verification
            </summary>
            <remarks>
            Verifies attestation certificate against certificate chain as well as root certificate.
            </remarks>
            <param name="tlvs"></param>
            <param name="rootCertString"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.CryptoUtility.VerifySurrogateAttestation(System.Collections.Generic.List{SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract},System.UInt16,System.UInt16)">
            <summary>
            Verifies attestation certificate using surrogate attestation verification method.
            </summary>
            <param name="tlvs"></param>
            <param name="publicKeyFormat"></param>
            <param name="algorithm"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.CryptoUtility.VerifyECAttestation(System.Collections.Generic.List{SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract},System.UInt16,System.UInt16)">
            <summary>
            Verifies attestation certificate using EC attestation verification method.
            </summary>
            <param name="tlvs"></param>
            <param name="format"></param>
            <param name="algorithm"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.CryptoUtility.IsSelfSigned(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Determines if a certificate is self signed.
            </summary>
            <param name="certificate"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.CryptoUtility.ValidateSignature(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.Byte[],System.UInt16)">
            <summary>
            Validates authenticator computed signatures for UAF.
            </summary>
            <param name="publicKey"></param>
            <param name="signedData"></param>
            <param name="signature"></param>
            <param name="algorithm"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.CryptoUtility.GetNamedCurve(System.UInt16)">
            <summary>
            Gets the named curve needed for RAW ECDSA public key parsing.
            </summary>
            <param name="algorithm"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.CryptoUtility.GetPublicKeyFromBytes(System.Byte[],System.UInt16,System.UInt16)">
            <summary>
            Parses public key from byte array.
            </summary>
            <param name="publicKeyBytes"></param>
            <param name="format"></param>
            <param name="algorithm"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.CryptoUtility.GetCertificate(System.Byte[])">
            <summary>
            Creates X509 certificate from bytes and returns it.
            </summary>
            <param name="certificateBytes"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.CryptoUtility.BuildPem(System.Byte[])">
            <summary>
            Builds a PEM formatted public key from bytes.
            </summary>
            <param name="publicKeyBytes"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.CryptoUtility.Encrypt(System.String,System.String,System.String,System.String)">
            <summary>
            Encrypt user provided password and return as Base64 encoded string
            </summary>
            <param name="raw"></param>
            <param name="iv"></param>
            <param name="salt"></param>
            <param name="localKey"></param>
            <returns></returns>
        </member>
        <member name="T:SurePassIdApiServer.Utility.Base64Url">
            <summary>
            Utility class to handle encoding and decoding data to a URL safe base64 string.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.Utility.Base64Url.Encode(System.Byte[])">
            <summary>
            Encodes byte data as URL safe Base64 encoded string.
            </summary>
            <param name="input"></param>
            <returns>string</returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.Base64Url.Decode(System.String)">
            <summary>
            Decodes URL safe Base64 encoded string into byte array.
            </summary>
            <param name="input">Base64 URL encoded string</param>
            <returns>byte[]</returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.Base64Url.DecodeEncodedJson``1(System.String)">
            <summary>
            Decode URL safe Base64 encoded JSON string and deserialize to given type.
            </summary>
            <param name="input">Base64 URL encoded string</param>
            <typeparam name="T">The type to which the input should be deserialized</typeparam>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.Base64Url.ConvertBase64UrlToStandard(System.String)">
            <summary>
            Convert from URL safe Base64 to plain Base64.
            </summary>
            <param name="input"></param>
            <returns>string</returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.MfaServerLicense.LoadLicense">
            <summary>
            Load or reload the license if it has been updated.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.Utility.MfaServerLicense.InitializeLicenseUserDataForLegacyLicenses(LogicNP.CryptoLicensing.CryptoLicense)">
            <summary>
            initalize LicenseUserdata for for legacy 
            </summary>
            <returns></returns>
            
        </member>
        <member name="M:SurePassIdApiServer.Utility.MfaServerLicense.GetLicenseUserData(LogicNP.CryptoLicensing.CryptoLicense)">
            <summary>
            Checks to make sure that there is json formatted user data (new license format) vs hostname list (old format)
            </summary>
            <returns></returns>
            
        </member>
        <member name="M:SurePassIdApiServer.Utility.MfaServerLicense.IsValid">
             <summary>
             Checks to make sure that all aspects of the license are valid.
             </summary>
             <returns></returns>
            
        </member>
        <member name="T:SurePassIdApiServer.Utility.NTPClient">
             <summary>
             NTPClient is a C# class designed to connect to time servers on the Internet.
             The implementation of the protocol is based on the RFC 2030.
             
             Public class members:
            
             LeapIndicator - Warns of an impending leap second to be inserted/deleted in the last
             minute of the current day. (See the _LeapIndicator enum)
             
             VersionNumber - Version number of the protocol (3 or 4).
             
             Mode - Returns mode. (See the _Mode enum)
             
             Stratum - Stratum of the clock. (See the _Stratum enum)
             
             PollInterval - Maximum interval between successive messages.
             
             Precision - Precision of the clock.
             
             RootDelay - Round trip time to the primary reference source.
             
             RootDispersion - Nominal error relative to the primary reference source.
             
             ReferenceID - Reference identifier (either a 4 character string or an IP address).
             
             ReferenceTimestamp - The time at which the clock was last set or corrected.
             
             OriginateTimestamp - The time at which the request departed the client for the server.
             
             ReceiveTimestamp - The time at which the request arrived at the server.
             
             Transmit Timestamp - The time at which the reply departed the server for client.
             
             RoundTripDelay - The time between the departure of request and arrival of reply.
             
             LocalClockOffset - The offset of the local clock relative to the primary reference
             source.
             
             Initialize - Sets up data structure and prepares for connection.
             
             Connect - Connects to the time server and populates the data structure.
            	It can also set the system time.
             
             IsResponseValid - Returns true if received data is valid and if comes from
             a NTP-compliant time server.
             
             ToString - Returns a string representation of the object.
             
             -----------------------------------------------------------------------------
             Structure of the standard NTP header (as described in RFC 2030)
                                   1                   2                   3
               0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |LI | VN  |Mode |    Stratum    |     Poll      |   Precision   |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                          Root Delay                           |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                       Root Dispersion                         |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                     Reference Identifier                      |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                                                               |
              |                   Reference Timestamp (64)                    |
              |                                                               |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                                                               |
              |                   Originate Timestamp (64)                    |
              |                                                               |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                                                               |
              |                    Receive Timestamp (64)                     |
              |                                                               |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                                                               |
              |                    Transmit Timestamp (64)                    |
              |                                                               |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                 Key Identifier (optional) (32)                |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |                                                               |
              |                                                               |
              |                 Message Digest (optional) (128)               |
              |                                                               |
              |                                                               |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             
             -----------------------------------------------------------------------------
             
             NTP Timestamp Format (as described in RFC 2030)
                                     1                   2                   3
                 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             |                           Seconds                             |
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             |                  Seconds Fraction (0-padded)                  |
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             
             </summary>
        </member>
        <member name="T:SurePassIdApiServer.Utility.OfflineCredentialBuilder">
            <summary>
            Utility for building offline FIDO2 credential public key data
            in the format expected by the Windows Login Manager client.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.Utility.OfflineCredentialBuilder.Build(System.String,System.Byte[])">
            <summary>
            Builds an <see cref="T:SurePassIdApiServer.FIDO.FIDO2.OfflineCredential"/> from the stored credential public key.
            </summary>
            <param name="storedPublicKeyBase64Url">
            The credential's stored public key (base64url-encoded raw bytes from registration).
            For ECC keys this is 0x04 || x[32] || y[32] (65 bytes).
            For RSA keys this is N || E (variable length).
            </param>
            <param name="publicKeyBytes">The decoded public key bytes.</param>
            <returns>An <see cref="T:SurePassIdApiServer.FIDO.FIDO2.OfflineCredential"/> or null if the key format is unsupported.</returns>
        </member>
        <member name="M:SurePassIdApiServer.Utility.OfflineCredentialBuilder.BuildEs256OfflineCredential(System.Byte[])">
            <summary>
            Builds an ES256 offline credential.
            Extracts raw x || y coordinates (without the 0x04 prefix) and base64url-encodes them.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.Utility.OfflineCredentialBuilder.BuildRs256OfflineCredential(System.Byte[])">
            <summary>
            Builds an RS256 offline credential.
            Constructs a Windows CNG BCRYPT_RSAPUBLIC_BLOB from the stored N and E components.
            </summary>
        </member>
        <member name="T:SurePassIdApiServer.FIDO.FIDO2.AndroidSafetyNetAttestationStatement">
            <inheritdoc />
        </member>
        <member name="T:SurePassIdApiServer.FIDO.FIDO2.AttestationObject">
            <summary>
            <see href="https://www.w3.org/TR/webauthn-2/#sctn-attestation"/>
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.AuthenticationServerResponse.OfflineCredential">
            <summary>
            Optional offline credential data returned when the assertion is successful
            and the account policy allows offline FIDO2 authentication.
            Omitted entirely (not null) when offline FIDO2 is not allowed.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.AuthenticatorSelectionCriteria.ResidentKey">
            <summary>
            Specifies the extent to which the Relying Party desires to create
            a client-side discoverable credential. For historical reasons the
            naming retains the deprecated “resident” terminology. The value
            SHOULD be a member of ResidentKeyRequirement but client platforms
            MUST ignore unknown values, treating an unknown value as if the
            member does not exist. If no value is given then the effective
            value is required if requireResidentKey is true or discouraged
            if it is false or absent.
            
            enum ResidentKeyRequirement {
                "discouraged",
                "preferred",
                "required"
            };
            
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.AuthenticatorSelectionCriteria.RequireResidentKey">
            <summary>
            This member is retained for backwards compatibility with
            WebAuthn Level 1 and, for historical reasons, its naming
            retains the deprecated “resident” terminology for discoverable
            credentials. Relying Parties SHOULD set it to true if,
            and only if, residentKey is set to required.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.AuthenticatorSelectionCriteria.AuthenticatorAttachment">
            <summary>
            If this member is present, eligible authenticators are filtered
            to only authenticators attached with the specified enumberateion.
            
            enum AuthenticatorAttachment {
                "platform",
                "cross-platform"
            };
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.AuthenticatorSelectionCriteria.UserVerification">
            <summary>
            This member describes the Relying Party's requirements regarding
            user verification for the create() operation. Eligible authenticators
            are filtered to only those capable of satisfying this requirement.
            The value SHOULD be a member of UserVerificationRequirement but
            client platforms MUST ignore unknown values, treating an unknown
            value as if the member does not exist.
            
            enum UserVerificationRequirement {
                "required",
                "preferred",
                "discouraged"
            };
            </summary>
        </member>
        <member name="T:SurePassIdApiServer.FIDO.FIDO2.CollectedClientData">
            <inheritdoc />
        </member>
        <member name="T:SurePassIdApiServer.FIDO.FIDO2.FidoV2ServerResponse">
            <summary>
            
            7.5.1.1. ServerResponse
            
            dictionary ServerResponse
            {
                required Status status;
                required DOMString errorMessage = "";
            }
            
            https://fidoalliance.org/specs/fido-v2.0-rd-20180702/fido-server-v2.0-rd-20180702.html#serverresponse
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.FidoV2ServerResponse.Status">
            <summary>
            required status - Describing the status of the response. Can be set to either "ok" or "failed".
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.FidoV2ServerResponse.ErrorMessage">
            <summary>
            required errorMessage - If status is set to "failed" this field MUST NOT be empty.
            </summary>
        </member>
        <member name="T:SurePassIdApiServer.FIDO.FIDO2.OfflineCredential">
            <summary>
            Represents an offline FIDO2 credential that can be cached by the client
            for offline authentication when the server is unreachable.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.OfflineCredential.PublicKey">
            <summary>
            The credential's public key, base64url-encoded.
            For ES256: raw x || y coordinates (64 bytes, no 0x04 prefix).
            For RS256: Windows CNG BCRYPT_RSAPUBLIC_BLOB format.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.OfflineCredential.Algorithm">
            <summary>
            COSE algorithm identifier for the key.
            ES256 = -7, RS256 = -257, etc.
            </summary>
        </member>
        <member name="T:SurePassIdApiServer.FIDO.FIDO2.PackedAttestationStatement">
            <summary>
            <see href="https://www.w3.org/TR/webauthn-2/#sctn-packed-attestation"/>
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.FIDO2.PackedAttestationStatement.#ctor(PeterO.Cbor.CBORObject)">
            <summary>
            
            Syntax
            
            The syntax of a Packed Attestation statement is defined by the following CDDL:
            
                $$attStmtType //= (
                                      fmt: "packed",
                                      attStmt: packedStmtFormat
                                  )
            
                packedStmtFormat = {
                                       alg: COSEAlgorithmIdentifier,
                                       sig: bytes,
                                       x5c: [attestnCert: bytes, * (caCert: bytes) ]
                                   } //
                                   {
                                       alg: COSEAlgorithmIdentifier
                                       sig: bytes,
                                   }
                                   
            The semantics of the fields are as follows:
            
              alg
                A COSEAlgorithmIdentifier containing the identifier of the algorithm
                used to generate the attestation signature.
            
              sig
                A byte string containing the attestation signature.
            
              x5c
                The elements of this array contain attestnCert and its certificate
                chain (if any), each encoded in X.509 format. The attestation certificate
                attestnCert MUST be the first element in the array.
            
              attestnCert
                The attestation certificate, encoded in X.509 format.
            
            </summary>
            <param name="attStmtObj"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.FIDO2.PackedAttestationStatement.VerifyPackedAttestationCertificateRequirements(Org.BouncyCastle.X509.X509Certificate,System.String)">
            <summary>
            8.2.1. Packed Attestation Statement Certificate Requirements
            
            The attestation certificate MUST have the following fields/extensions:
            
            - Version MUST be set to 3 (which is indicated by an ASN.1 INTEGER with value 2).
            
            - Subject field MUST be set to:
            
                Subject-C (countryName)
                  ISO 3166 code specifying the country where the Authenticator
                  vendor is incorporated(PrintableString)
                
                Subject-O (organizationName)
                  Legal name of the Authenticator vendor(UTF8String)
                
                Subject-OU (organizationalUnitName)
                  Literal string “Authenticator Attestation” (UTF8String)
                
                Subject-CN (commonName)
                  A UTF8String of the vendor’s choosing
            
            - If the related attestation root certificate is used for multiple authenticator models,
              the Extension OID 1.3.6.1.4.1.45724.1.1.4 (id-fido-gen-ce-aaguid) MUST be present,
              containing the AAGUID as a 16-byte OCTET STRING.The extension MUST NOT be marked as critical.
            
              Note that an X.509 Extension encodes the DER-encoding of the value in an OCTET STRING.
              Thus, the AAGUID MUST be wrapped in two OCTET STRINGS to be valid.Here is a sample,
              encoded Extension structure:
            
              30 21                                     -- SEQUENCE
                06 0b 2b 06 01 04 01 82 e5 1c 01 01 04  -- 1.3.6.1.4.1.45724.1.1.4
                04 12                                   -- OCTET STRING
                  04 10                                 -- OCTET STRING
                    cd 8c 39 5c 26 ed ee de             -- AAGUID
                    65 3b 00 79 7d 03 ca 3c
                    
            - The Basic Constraints extension MUST have the CA component set to false.
            
            - An Authority Information Access (AIA) extension with entry id-ad-ocsp and a CRL Distribution
              Point extension[RFC5280] are both OPTIONAL as the status of many attestation certificates is
              available through authenticator metadata services.See, for example, the FIDO Metadata Service
              [FIDOMetadataService].
            
            See: https://www.w3.org/TR/webauthn-2/#sctn-packed-attestation-cert-requirements
            </summary>
            <param name="certificate"></param>
            <param name="attestedAaguid"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.FIDO2.PublicKeyCredentialEntity.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredential.IsValid">
            <summary>
            https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential
            </summary>
            <returns>
            True if the object is valid, otherwise false.
            </returns>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsRequest.FidoType">
            <summary>
            The fidoType is a subset of the Device.OtpTypes
            Default: TokenFidoType.Fido2SecondFactor
            </summary>
        </member>
        <member name="T:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsResponse">
            <summary>
            7.3.3.2. ServerPublicKeyCredentialCreationOptionsResponse
            
            dictionary ServerPublicKeyCredentialCreationOptionsResponse : ServerResponse {
                required PublicKeyCredentialRpEntity              rp;
                required ServerPublicKeyCredentialUserEntity      user;
                required DOMString                                challenge;
                required sequence&lt;PublicKeyCredentialParameters&gt;  pubKeyCredParams;
                unsigned long                                     timeout;
                sequence&lt;ServerPublicKeyCredentialDescriptor&gt;     excludeCredentials = [];
                AuthenticatorSelectionCriteria                    authenticatorSelection;
                AttestationConveyancePreference                   attestation = "none";
                AuthenticationExtensionsClientInputs              extensions;
            };
            
            https://fidoalliance.org/specs/fido-v2.0-rd-20180702/fido-server-v2.0-rd-20180702.html#serverpublickeycredentialcreationoptionsresponse
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsResponse.RelyingParty">
            <summary>
            required rp - a dictionary defined as PublicKeyCredentialRpEntity described in WebAuthn specification.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsResponse.User">
            <summary>
            required user - a dictionary defined as ServerPublicKeyCredentialUserEntity, described in this document.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsResponse.Challenge">
            <summary>
            required challenge - a random base64url encoded challenge, that is minumum 16 bytes long, and maximum 64 bytes long.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsResponse.PublicKeyCredentialParameters">
            <summary>
            required pubKeyCredParams - sequence of PublicKeyCredentialParameters described in WebAuthn specification.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsResponse.Timeout">
            <summary>
            timeout - timeout(ms)
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsResponse.ExcludeCredentials">
            <summary>
            excludeCredentials - a sequence of ServerPublicKeyCredentialDescriptor described in this document.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsResponse.AuthenticatorSelection">
            <summary>
            authenticatorSelection - a dictionary set AuthenticatorSelectionCriteria described in WebAuthn specification.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsResponse.Attestation">
            <summary>
            attestation - can be set to "none", "indirect", "direct". More in WebAuthn specification. Default set to none.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsResponse.Extensions">
            <summary>
            extensions - a dictionary set to AuthenticationExtensionsClientInputs described in WebAuthn specs.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialGetOptionsRequest.FidoType">
            <summary>
            The fidoType is a subset of the Device.OtpTypes
            Default: TokenFidoType.Fido2SecondFactor
            
            Obsolete
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.FIDO2.TokenBinding.status">
            <summary>
            Status, uses TokenBindingStatus value of PRESENT or SUPPORTED
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.FIDO2.UserId.#ctor(SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Creates a new UserId from the given PartnerUser by hashing the combination of Tenant.Id and User.Id
            </summary>
            <param name="user">The PartnerUser database entity.</param>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.RegisterRequest.Version">
            The version of the protocol that the to-be-registered token must speak. E.g. "U2F_V2".
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.RegisterRequest.Challenge">
            The websafe-base64-encoded challenge.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.RegisterRequest.AppId">
            The application id that the RP asserts. The new key pair that the U2F token generates
            will be associated with this application id.
            (For application id details see [FIDOAppIDAndFacets] in bibliography).
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.SignRequest.Version">
            The version of the protocol that the to-be-registered token must speak. E.g. "U2F_V2".
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.SignRequest.Challenge">
            The websafe-base64-encoded challenge.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.SignRequest.KeyHandle">
            The registered keyHandle to use for signing, as returned by the U2F token during registration.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.SignRequest.AppId">
            The application id that the RP would like to assert.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fRequest.Type">
            type of type DOMString
            The type of request, either "u2f_register_request" or "u2f_sign_request".
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fRequest.SignRequestList">
            signRequests of type array of SignRequest
            A list of SignRequest dictionaries, one for each token already registered with this RP.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fRequest.RegisterRequestList">
            registerRequests of type array of RegisterRequest, nullable
            A list of RegisterRequest dictionaries, one for each protocol version that the RP is willing to register.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fRequest.TimeoutSeconds">
            timeoutSeconds of type int, nullable
            A timeout for the FIDO Client's processing, in seconds.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fRequest.RequestId">
            requestId of type optional int, nullable
            An integer identifying this request from concurrent requests.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fRequest_1_2.Type">
            type of type DOMString
            The type of request, either "u2f_register_request" or "u2f_sign_request".
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fRequest_1_2.AppId">
            appId of type DOMString, nullable
            An application identifer for the request. If none is given, the origin of the calling web page is used.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fRequest_1_2.TimeoutSeconds">
            timeoutSeconds of type int, nullable
            A timeout for the FIDO Client's processing, in seconds.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fRequest_1_2.RequestId">
            requestId of type optional int, nullable
            An integer identifying this request from concurrent requests.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fSignRequest_1_2.Challenge">
            The websafe-base64-encoded challenge.
        </member>
        <member name="P:SurePassIdApiServer.FIDO.U2F.U2fSignRequest_1_2.RegisterRequestList">
            <summary>
            registeredKeys of type sequence[RegisteredKey]
            An array of RegisteredKeys representing the U2F tokens registered to this user.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.U2F.U2fTestAuthenticator.ProcessRegisterRequest(SurePassIdApiServer.FIDO.U2F.U2fRequest,System.String,System.String)">
            <summary>
            This simulates the U2F Client and Authenticator processing.
            </summary>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.U2F.U2fTestAuthenticator.ProcessSignRequest(SurePassIdApiServer.FIDO.U2F.U2fRequest,System.String)">
            <summary>
            This simulates the U2F Client and Authenticator processing.
            </summary>
            <returns></returns>
        </member>
        <member name="T:SurePassIdApiServer.FIDO.UAF.AuthenticationRequest">
            <summary>
            AuthenticationRequest class
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticationRequest.header">
            <summary>
            header of type required OperationHeader
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticationRequest.challenge">
            <summary>
            Server-provided challenge value
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticationRequest.transaction">
            <summary>
            Transaction data to be explicitly confirmed by the user
            </summary>
            <remarks>
            The list contains the same transaction content in various content types and various image sizes.Refer to[FIDOMetadataStatement] for more information about Transaction Confirmation Display characteristics
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticationRequest.policy">
            <summary>
            Server-provided policy defining what types of authenticators are acceptable for this authentication operation
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.AuthenticationRequest.#ctor(SurePassIdApiServer.FIDO.UAF.OperationHeader,SurePassIdDotNetStd.JSON.Type.Base64UrlData,SurePassIdApiServer.FIDO.UAF.Transaction[],SurePassIdApiServer.FIDO.UAF.Policy)">
            <summary>
            Constructor to set all properties
            </summary>
            <param name="header"></param>
            <param name="challenge"></param>
            <param name="transaction"></param>
            <param name="policy"></param>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.AuthenticationRequest.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="T:SurePassIdApiServer.FIDO.UAF.AuthenticationResponse">
            <summary>
            AuthenticationResponse class
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticationResponse.header">
            <summary>
            header of type required OperationHeader
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticationResponse.fcParams">
            <summary>
            fcParams of type required DOMString
            </summary>
            <remarks>
            The field fcParams is the base64url-encoded serialized [RFC4627] FinalChallengeParams in UTF8 encoding (see FinalChallengeParams dictionary) which contains all parameters required for the server to verify the Final Challenge
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticationResponse.assertions">
            <summary>
            assertions of type array of required AuthenticatorSignAssertion
            </summary>
            <remarks>
            The list of authenticator responses related to this operation
            </remarks>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.AuthenticationResponse.#ctor(SurePassIdApiServer.FIDO.UAF.OperationHeader,SurePassIdDotNetStd.JSON.Type.Base64UrlData,SurePassIdApiServer.FIDO.UAF.AuthenticatorSignAssertion[])">
            <summary>
            Constructor, sets all properties.
            </summary>
            <param name="header"></param>
            <param name="fcParams"></param>
            <param name="assertions"></param>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticatorRegistrationAssertion.assertionScheme">
            <summary>
            The name of the Assertion Scheme used to encode the assertion
            </summary>
            <remarks>
            See UAF Supported Assertion Schemes for details
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticatorRegistrationAssertion.assertion">
            <summary>
            assertion of type required DOMString
            </summary>
            <remarks>
            Contains the TAG_UAFV1_REG_ASSERTION object containing the assertion scheme specific KeyRegistrationData (KRD) object which in turn contains the newly generated UAuth.pub and is signed by the Attestation Private Key
            This assertion must be generated by the authenticator and it must be used only in this Registration operation. The format of this assertion can vary from one assertion scheme to another (e.g. for "UAFV1TLV" assertion scheme it must be TAG_UAFV1_KRD).
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticatorRegistrationAssertion.extensions">
            <summary>
            Type array of Extension; Contains Extensions prepared by the authenticator
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticatorRegistrationAssertion.tcDisplayPNGCharacteristics">
            <summary>
            tcDisplayPNGCharacteristics of type array of DisplayPNGCharacteristicsDescriptor
            </summary>
            <remarks>
            Supported transaction PNG type. For the definition of the DisplayPNGCharacteristicsDescriptor structure.
            </remarks>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.AuthenticatorRegistrationAssertion.#ctor(System.String,SurePassIdApiServer.FIDO.UAF.Assertion,SurePassIdApiServer.FIDO.UAF.Extension[],SurePassIdApiServer.FIDO.UAF.DisplayPNGCharacteristicsDescriptor[])">
            <summary>
            Constructor, sets all properties
            </summary>
            <param name="assertionScheme"></param>
            <param name="assertion"></param>
            <param name="extensions"></param>
            <param name="tcDisplayPNGCharacteristics"></param>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.AuthenticatorRegistrationAssertion.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticatorSignAssertion.assertionScheme">
            <summary>
            assertionScheme of type required DOMString
            </summary>
            <remarks>
            The name of the Assertion Scheme used to encode assertion. See	UAF Supported Assertion Schemes for details
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticatorSignAssertion.assertion">
            <summary>
            assertion of type required DOMString
            </summary>
            <remarks>
            Contains the assertion containing a signature generated by UAuth.priv, i.e. TAG_UAFV1_AUTH_ASSERTION.
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.AuthenticatorSignAssertion.extensions">
            <summary>
            Type array of Extension
            </summary>
            <remarks>
            Any extensions prepared by the Authenticator
            </remarks>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.AuthenticatorSignAssertion.#ctor(System.String,SurePassIdDotNetStd.JSON.Type.Base64UrlData,SurePassIdApiServer.FIDO.UAF.Extension[])">
            <summary>
            Constructor, sets all properties
            </summary>
            <param name="assertionScheme"></param>
            <param name="assertion"></param>
            <param name="extensions"></param>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.ChannelBinding.serverEndPoint">
            <summary>
            The field serverEndPoint must be set to the base64url-encoded hash of the TLS server certificate if this is available
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.ChannelBinding.tlsServerCertificate">
            <summary>
            This field must be set to the base64url-encoded, DER-encoded TLS server certificate, if this data is available to the FIDO UAF Client.
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.ChannelBinding.tlsUnique">
            <summary>
            Must be set to the base64url-encoded TLS channel Finished structure. It must, however, be absent, if this data is not available to the FIDO UAF Client 
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.ChannelBinding.cid_pubkey">
            <summary>
            Base64url-encoded serialized JwkKey structure using UTF-8 encoding.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.ChannelBinding.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.ChannelBinding.#ctor(SurePassIdDotNetStd.JSON.Type.Base64UrlData,SurePassIdDotNetStd.JSON.Type.Base64UrlData,SurePassIdDotNetStd.JSON.Type.Base64UrlData,SurePassIdDotNetStd.JSON.Type.Base64UrlData)">
            <summary>
            Constructor, sets all properties
            </summary>
            <param name="serverEndPoint"></param>
            <param name="tlsServerCertificate"></param>
            <param name="tlsUnique"></param>
            <param name="cid_pubkey"></param>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.DeregisterAuthenticator.aaid">
            <summary>
            aaid of type required AAID
            </summary>
            <remarks>
            AAID of the authenticator housing the UAuth.priv key to deregister, or an empty string if all keys related to the specified appID are to be de-registered
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.DeregisterAuthenticator.keyid">
            <summary>
            keyID of type required KeyID
            </summary>
            <remarks>
            The unique KeyID related to UAuth.priv. KeyID is assumed to be unique within the scope of an AAID only.
            </remarks>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.DeregisterAuthenticator.#ctor(System.String,SurePassIdApiServer.FIDO.UAF.KeyId)">
            <summary>
            Constructor, sets all properties
            </summary>
            <param name="aaid"></param>
            <param name="keyid"></param>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.DeregistrationRequest.header">
            <summary>
            header of type required OperationHeader
            </summary>
            <remarks>
            Header.op must be "Dereg"
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.DeregistrationRequest.authenticators">
            <summary>
            authenticators of type array of required DeregisterAuthenticator
            </summary>
            <remarks>
            List of authenticators to be deregistered.
            </remarks>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.DeregistrationRequest.#ctor(SurePassIdApiServer.FIDO.UAF.OperationHeader,SurePassIdApiServer.FIDO.UAF.DeregisterAuthenticator[])">
            <summary>
            Constructor, sets all properties
            </summary>
            <param name="header"></param>
            <param name="authenticators"></param>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.FinalChallengeParams.appID">
            <summary>
            appID of type required DOMString
            </summary>
            <remarks>
            The value must be taken from the appID field of the OperationHeader
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.FinalChallengeParams.challenge">
            <summary>
            challenge of type required ServerChallenge
            </summary>
            <remarks>
            The value must be taken from the challenge field of the request
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.FinalChallengeParams.facetID">
            <summary>
            facetID of type required DOMString
            </summary>
            <remarks>
            The value is determined by the FIDO UAF Client and it depends on the calling application
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.FinalChallengeParams.channelBinding">
            <summary>
            channelBinding of type required ChannelBinding
            </summary>
            <remarks>
            Contains the TLS information to be sent by the FIDO Client to the FIDO Server, binding the TLS channel to the FIDO operation
            </remarks>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.FinalChallengeParams.ToString">
            <summary>
            ToString method override, handles serializing final challenge params to JSON string
            </summary>
            <returns>string</returns>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.aaid">
            <summary>
            List of AAIDs, causing matching to be restricted to certain AAIDs
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.vendorID">
            <summary>
            The vendorID causing matching to be restricted to authenticator models of the given vendor
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.keyIds">
            <summary>
            A list of authenticator KeyIDs causing matching to be restricted to a given set of KeyID instances
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.userVerification">
            <summary>
            A set of 32 bit flags which may be set if matching should be restricted by the user verification method
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.keyProtection">
            <summary>
            A set of 16 bit flags which may be set if matching should be restricted by the key protections used
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.matcherProtection">
            <summary>
            A set of 16 bit flags which may be set if matching should be restricted by the matcher protection
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.attachmentHint">
            <summary>
            A set of 32 bit flags which may be set if matching should be restricted by the authenticator attachment mechanism
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.tcDisplay">
            <summary>
            A set of 16 bit flags which may be set if matching should be restricted by the transaction confirmation display availability and type
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.authenticationAlgorithms">
            <summary>
            An array containing values of supported authentication algorithm TAG values
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.assertionSchemes">
            <summary>
            A list of supported assertion schemes if matching should be restricted by the supported schemes
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.attestationTypes">
            <summary>
            An array containing the preferred attestation TAG values
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.authenticatorVersion">
            <summary>
            Contains an authenticator version number, if matching should be restricted by the authenticator version in use
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.MatchCriteria.extensions">
            <summary>
            Extensions for matching policy.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.MatchCriteria.#ctor(System.String[],System.String[],SurePassIdDotNetStd.JSON.Type.Base64UrlData[],System.Int64,System.Int16,System.Int16,System.Int64,System.Int16,System.Int16[],System.String[],System.Int16[],System.Int16[],SurePassIdApiServer.FIDO.UAF.Extension[])">
            <summary>
            Constructor, sets all properties
            </summary>
            <param name="aaid"></param>
            <param name="vendorID"></param>
            <param name="keyIds"></param>
            <param name="userVerification"></param>
            <param name="keyProtection"></param>
            <param name="matcherProtection"></param>
            <param name="attachmentHint"></param>
            <param name="tcDisplay"></param>
            <param name="authenticationAlgorithms"></param>
            <param name="assertionSchemes"></param>
            <param name="attestationTypes"></param>
            <param name="authenticatorVersion"></param>
            <param name="extensions"></param>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.MatchCriteria.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.OperationHeader.version">
            <summary>
            UAF protocol version (upv)
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.OperationHeader.operation">
            <summary>
            Name of FIDO operation (op) this message relates to.
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.OperationHeader.appId">
            <summary>
            The application identifier that the relying party would like to assert.
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.OperationHeader.serverData">
            <summary>
            A session identifier created by the relying party.
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.OperationHeader.extensions">
            <summary>
            List of UAF Message Extensions.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.OperationHeader.#ctor(SurePassIdCore.FIDO.Common.ProtocolVersion,System.String,System.String,SurePassIdApiServer.FIDO.UAF.ServerData,SurePassIdApiServer.FIDO.UAF.Extension[])">
            <summary>
            Constructor to set all values
            </summary>
            <param name="version"></param>
            <param name="operation"></param>
            <param name="appId"></param>
            <param name="serverData"></param>
            <param name="extensions"></param>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.OperationHeader.#ctor(SurePassIdCore.FIDO.Common.ProtocolVersion,System.String,System.String)">
            <summary>
            Constructor to set partial values
            </summary>
            <param name="version"></param>
            <param name="operation"></param>
            <param name="appId"></param>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.OperationHeader.#ctor">
            <summary>
            Default Constructor
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.Operations.Registration">
            <summary>
            Registration
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.Operations.Authentication">
            <summary>
            Authentication/Transaction
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.Operations.Deregistration">
            <summary>
            Deregistration
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.Policy.accepted">
            <summary>
            accepted of type array of array of required MatchCriteria
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.Policy.disallowed">
            <summary>
            disallowed of type array of MatchCriteria
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.Policy.#ctor(SurePassIdApiServer.FIDO.UAF.MatchCriteria[][],SurePassIdApiServer.FIDO.UAF.MatchCriteria[])">
            <summary>
            Constructor, sets all properties
            </summary>
            <param name="accepted"></param>
            <param name="disallowed"></param>
        </member>
        <member name="T:SurePassIdApiServer.FIDO.UAF.RegistrationRequest">
            <summary>
            RegistrationRequest class
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.RegistrationRequest.header">
            <summary>
             Represents a UAF message Request and Response header
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.RegistrationRequest.challenge">
            <summary>
             Server-provided challenge value
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.RegistrationRequest.username">
            <summary>
             A human-readable user name intended to allow the user to distinguish and select from among different accounts at the same relying party.
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.RegistrationRequest.policy">
            <summary>
             Describes which types of authenticators are acceptable for this registration operation
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.RegistrationRequest.#ctor(SurePassIdApiServer.FIDO.UAF.OperationHeader,SurePassIdDotNetStd.JSON.Type.Base64UrlData,System.String,SurePassIdApiServer.FIDO.UAF.Policy)">
            <summary>
            Default Constructor
            </summary>
            <param name="header"></param>
            <param name="challenge"></param>
            <param name="username"></param>
            <param name="policy"></param>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.RegistrationResponse.header">
            <summary>
            header of type required OperationHeader
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.RegistrationResponse.fcParams">
            <summary>
            fcParams of type required DOMString
            </summary>
            <remarks>
            The base64url-encoded serialized [RFC4627] FinalChallengeParams using UTF8 encoding which contains all parameters required for the server to verify the Final Challenge.
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.RegistrationResponse.assertions">
            <summary>
            assertions of type array of required AuthenticatorRegistrationAssertion
            </summary>
            <remarks>
            Response data for each Authenticator being registered.
            </remarks>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.RegistrationResponse.#ctor(SurePassIdApiServer.FIDO.UAF.OperationHeader,SurePassIdDotNetStd.JSON.Type.Base64UrlData,SurePassIdApiServer.FIDO.UAF.AuthenticatorRegistrationAssertion[])">
            <summary>
            Constructor, sets all properties
            </summary>
            <param name="header"></param>
            <param name="fcParams"></param>
            <param name="assertions"></param>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.Aaid.IsValid">
            <inheritdoc cref="M:SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract.IsValid"/>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.Aaid.#ctor(System.UInt16,System.UInt16,System.Byte[])">
            <inheritdoc cref="M:SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract.#ctor(System.UInt16,System.UInt16,System.Byte[])"/>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.AttestationBasicSurrogate.#ctor(System.UInt16,System.UInt16,System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="tag"></param>
            <param name="length"></param>
            <param name="value"></param>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.AttestationBasicSurrogate.IsValid">
            <inheritdoc />
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.AttestationEcdaa.#ctor(System.UInt16,System.UInt16,System.Byte[])">
            <summary>
            
            </summary>
            <param name="tag"></param>
            <param name="length"></param>
            <param name="value"></param>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.RegistrationAssertionInfo.IsValid">
            <inheritdoc cref="M:SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract.IsValid" />
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.Tlv.#ctor(System.UInt16,System.UInt16,System.Byte[])">
            <inheritdoc cref="M:SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract.#ctor(System.UInt16,System.UInt16,System.Byte[])"/>
        </member>
        <member name="T:SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract">
            <summary>
            Abstract class for TLV objects, can be inherited to handle creating specific UAF tags.
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract.tag">
            <summary>
            Uint16 Tag.
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract.length">
            <summary>
            UInt16 length of the value.
            </summary>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract.value">
            <summary>
            Byte array tag value.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract.#ctor(System.UInt16,System.UInt16,System.Byte[])">
            <summary>
            Constructor, sets all properties.
            </summary>
            <param name="tag"></param>
            <param name="length"></param>
            <param name="value"></param>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract.IsValid">
            <summary>
            Validates inputs on construction of new TLV object.
            </summary>
            <remarks>
            Not all TLVs have specific length limitations.  Some implementations will just return true in all cases.
            </remarks>
            <returns>bool</returns>
        </member>
        <member name="T:SurePassIdApiServer.FIDO.UAF.TLV.TlvParser">
            <summary>
            Class for parsing TLV byte structures.
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.FIDO.UAF.TLV.TlvParser.TlvCollection">
            <summary>
            Parsed TLVs.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.TlvParser.#ctor">
            <summary>
            Constructor, default.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.TlvParser.ParseRegistration(System.Byte[])">
            <summary>
            Parse registration assertion
            </summary>
            <param name="bytes">Registration assertion byte array.</param>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.TlvParser.CreateTlv(System.Byte[],System.UInt16,System.UInt16,System.Int32,System.Int32,System.Type,System.Int32,System.Byte[]@)">
            <summary>
            Creates arbitrary TLV object based on parameters.  The return type must inherit TlvAbstract class.
            </summary>
            <param name="bytes">The TLV source byte array</param>
            <param name="tag">The tag</param>
            <param name="tagLength">The parsed tag length value.</param>
            <param name="startIndex">The index at which to begin extracting bytes from source array</param>
            <param name="length">The total number of bytes to extract from source array</param>
            <param name="t">The type inheriting TlvAbstract to instantiate.</param>
            <param name="position">The position to which the source array should be advanced for the next parsing event.</param>
            <param name="current">The remaining bytes from source array after parsing and advancing position.</param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.TLV.TlvParser.AdvanceToPosition(System.Byte[],System.Int32)">
            <summary>
            Advance a byte array to a given position and return remaining bytes.
            </summary>
            <param name="bytes">Source byte array</param>
            <param name="position">Position index to which the array will be advanced.</param>
            <returns></returns>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.Transaction.contentType">
            <summary>
            contentType of type required DOMString
            </summary>
            <remarks>
            Contains the MIME Content-Type supported by the authenticator according its metadata statement
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.Transaction.content">
            <summary>
            content of type required DOMString
            </summary>
            <remarks>
            Contains the base64-url encoded transaction content according to the contentType to be shown to the user.
            </remarks>
        </member>
        <member name="F:SurePassIdApiServer.FIDO.UAF.Transaction.tcDisplayPNGCharacteristics">
            <summary>
            tcDisplayPNGCharacteristics of type DisplayPNGCharacteristicsDescriptor
            </summary>
            <remarks>
            Transaction content PNG characteristics. For the definition of the DisplayPNGCharacteristicsDescriptor structure. This field must be present if the contentType is "image/png".
            </remarks>
        </member>
        <member name="M:SurePassIdApiServer.FIDO.UAF.Transaction.#ctor(System.String,SurePassIdDotNetStd.JSON.Type.Base64UrlData,SurePassIdApiServer.FIDO.UAF.DisplayPNGCharacteristicsDescriptor)">
            <summary>
            Constructor, sets all properties
            </summary>
            <param name="contentType"></param>
            <param name="content"></param>
            <param name="tcDisplayPNGCharacteristics"></param>
        </member>
        <member name="T:SurePassIdApiServer.Logging.LogExtensions">
            <summary>
            Extension methods that prepend source location context (file:line and member) to log messages
            without incurring a stack walk (uses Caller* compiler services).
            </summary>
        </member>
        <member name="T:SurePassIdApiServer.Logging.SanitizedMessagePatternConverter">
            <summary>
            Pattern converter to sanitize sensitive tokens/secrets from log messages before rendering.
            Usage in layout: %messageSanitized
            </summary>
        </member>
        <member name="P:SurePassIdApiServer.Models.FidoServiceResponse.OfflineCredential">
            <summary>
            Optional offline credential for FIDO2 offline authentication support.
            Populated when assertion succeeds and offline FIDO2 policy is enabled.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminTokenService.TokenCreate(SurePassIdApiServer.Models.Administration.TokenCreateRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Add a new device to partner user
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminTokenService.TokenFind(SurePassIdApiServer.Models.Administration.TokenFindRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Find user devices using printed serial number or unique identifier
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminTokenService.TokenAssignUnassign(SurePassIdApiServer.Models.Administration.TokenAssignUnassignRequest,SurePassIdMfaDb.Entity.PartnerUser,System.Boolean)">
            <summary>
            Assign/Unassign Token to an user
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <param name="isAssign"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminTokenService.TokenEnableDisable(SurePassIdApiServer.Models.Administration.TokenEnableDisableRequest,SurePassIdMfaDb.Entity.PartnerUser,System.Boolean)">
            <summary>
            Service method to enable or disable tokens
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <param name="isEnable"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminTokenService.TokenDelete(SurePassIdApiServer.Models.Administration.TokenDeleteRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Delete device using psn number
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminUserService.UserCreate(SurePassIdApiServer.Models.Administration.UserCreateRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Create user method
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminUserService.UserFind(SurePassIdApiServer.Models.Administration.UserFindRequest,SurePassIdMfaDb.Entity.PartnerUser,System.Boolean)">
            <summary>
            Find Partner Users 
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <param name="userList"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminUserService.UserUpdate(SurePassIdApiServer.Models.Administration.UserUpdateRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Update User Service Method
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminUserService.UserChangePassword(SurePassIdApiServer.Models.Administration.UserChangePasswordRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Change User Password
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminUserService.UserPasswordRecoveryChangePassword(SurePassIdApiServer.Models.Administration.UserPasswordRecoveryChangePasswordRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Service method for Password Recovery Change Password
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.AdminUserService.UserDelete(SurePassIdApiServer.Models.Administration.UserDeleteRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Delete user method
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.Fido2RegistrationService.CreatePublicKeyCredentialCreationOptionsResponse(SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredentialCreationOptionsRequest,SurePassIdMfaDb.Entity.PartnerUser,SurePassIdCore.Configuration.IAppSettings,SurePassIdMfaDb.Context.SurePassIdMfaDbContext,System.Int32@,System.Int32)">
            <summary>
            This method creates a new DeviceFidoapp record in the database with state EnrollmentInProgress.
            It is called by InitializeRegistration() and MobileAppService.TokenPreProvision(). Make sure to
            not break either of those methods when updating this method.
            </summary>
            <param name="request"></param>
            <param name="fidoUser"></param>
            <param name="appSettings"></param>
            <param name="surePassIdMfaDbContext"></param>
            <param name="newDeviceFidoId"></param>
            <param name="parentDeviceId"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.Fido2RegistrationService.ProcessRegistration(SurePassIdApiServer.FIDO.FIDO2.ServerPublicKeyCredential,System.String)">
            <summary>
            This method processes the registration response from the client.
            It is called by Fido2Controller.CompleteRegistration().
            
            https://www.w3.org/TR/webauthn-2/#sctn-registering-a-new-credential
            </summary>
            <param name="credential"></param>
            <param name="ipAddress"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.MobileAppService.TokenProvision(SurePassIdApiServer.Models.MobileApp.TokenProvisionRequest,System.String)">
            <summary>
            Service method to provision the token
            
            Relaces Legacy code: SurePassAdmin.server.ApiActions.ProvisionDevice
            </summary>
            <param name="request"></param>
            <param name="ipAddress"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.MobileAppService.GetTokenData(System.String,SurePassIdMfaDb.Entity.Device@,SurePassIdMfaDb.Entity.Partner@,SurePassIdMfaDb.Entity.PartnerUser@,System.Boolean,System.String)">
            <summary>
            Retrieve all related token data. 
            </summary>
            <param name="tokenId">The token's unique identifier. (TUID)</param>
            <param name="token">Token (Device)</param>
            <param name="partner">Partner (Account/Tenant)</param>
            <param name="partnerUser">User</param>
            <param name="validateSecretKeyExpiration">Should the secret key expiration be checkd.</param>
            <param name="ipAddress">The connection's IP address.</param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.OtpService.OtpRequest(System.String,SurePassIdApiServer.Models.Otp.SendOtpRequest,SurePassIdMfaDb.Entity.Partner)">
            <summary>
            Handles sending OTP requested to a registered user.
            </summary>
            <param name="deliveryMethod"></param>
            <param name="request"></param>
            <param name="tenant"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.OtpService.ValidateRequestOtp(SurePassIdApiServer.Models.Otp.ProcessOtpRequest,System.Int32,System.Int32,System.String)">
            <summary>
            Validate the requested otp for the devices
            </summary>
            <param name="processOtpRequest"></param>
            <param name="partnerId"></param>
            <param name="offlineCodeCount"></param>
            <param name="clientIpAddress"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.OtpService.OtpActivate(SurePassIdApiServer.Models.Otp.ActivateOtpRequest,SurePassIdMfaDb.Entity.PartnerUser,System.String)">
            <summary>
            Activates OTP Token from registered user
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <param name="clientIpAddress"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.OtpService.OtpSync(SurePassIdApiServer.Models.Otp.ActivateOtpRequest,SurePassIdMfaDb.Entity.PartnerUser,System.String)">
            <summary>
            Resync Otp Token from registered user
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <param name="clientIpAddress"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.PushService.SendPushMessage(SurePassIdApiServer.Models.Push.SendPushMessageRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Service method to send push messages
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.PushService.CancelPushMessage(SurePassIdApiServer.Models.Push.CancelPushMessageRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Service method to Cancel Push Message
            </summary>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.PushService.PushResponse(SurePassIdApiServer.Models.Push.PushResponseRequest)">
            <summary>
            Service method to receive push message
            </summary>
            <param name="request"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.PushService.IsUserAuthenticated(SurePassIdApiServer.Models.Push.IsUserPushAuthenticatedRequest,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Service method to check authenticated push user
            </summary>
            <param name="request"></param>
            <param name="authenticatedUser"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.PushService.SendPushRequestUpdate(SurePassIdMfaDb.Entity.PartnerUser,System.String,SurePassIdMfaDb.Constant.PushStatusUpdate,System.String)">
            <summary>
            This sends a push notification to the user's mobile devices with an update for a push request.
            </summary>
            <param name="tokenUser"></param>
            <param name="appReqId"></param>
            <param name="statusUpdate"></param>
            <param name="mobileDeviceToken"></param>
            <returns></returns>
        </member>
        <member name="T:SurePassIdApiServer.Services.RelatedOriginRequestCache">
            <summary>
            Cache for Related Origins Request (ROR) data.
            See: https://passkeys.dev/docs/advanced/related-origins/#how-it-works
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.Services.RelatedOriginRequestCache.GetRelatedOriginsAsync(System.String,System.Int32)">
            <summary>
            Gets the related origins for the specified origin URL.
            </summary>
            <param name="origin">The origin URL to check for related origins</param>
            <param name="cacheTtlSeconds">Cache TTL in seconds</param>
            <returns>List of related origins, or null if not found or error occurred</returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.RelatedOriginRequestCache.FetchRelatedOriginsAsync(System.String)">
            <summary>
            Fetches related origins from the well-known endpoint.
            </summary>
            <param name="origin">The origin URL</param>
            <returns>List of related origins, or null if not found or error occurred</returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.RelatedOriginRequestCache.ClearCache">
            <summary>
            Clears the entire cache.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.Services.RelatedOriginRequestCache.CleanupExpiredEntries">
            <summary>
            Removes expired entries from the cache.
            </summary>
        </member>
        <member name="T:SurePassIdApiServer.Services.RelatedOriginRequestCache.RelatedOriginRequestData">
            <summary>
            Data structure for Related Origins Request response.
            </summary>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafAuthenticationService.InitializeTransaction(SurePassIdMfaDb.Entity.Partner,System.String)">
            <summary>
            Initiate the UAF transaction/authentication process.
            </summary>
            <param name="tenant"></param>
            <param name="transactionContent"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafAuthenticationService.ProcessAssertion(System.Collections.Generic.List{SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract},SurePassIdMfaDb.Entity.DeviceFidoapp,SurePassIdApiServer.FIDO.UAF.AuthenticatorSignAssertion,SurePassIdApiServer.FIDO.UAF.FinalChallengeParams,SurePassIdMfaDb.Entity.DeviceFidoapp,SurePassIdApiServer.Models.DeviceMetadata.AuthenticatorCharacteristics@)">
            <summary>
            Process transaction/authentication assertion.
            </summary>
            <param name="tlvs"></param>
            <param name="authenticator"></param>
            <param name="assertion"></param>
            <param name="finalChallengeParams"></param>
            <param name="device"></param>
            <param name="metadata"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafAuthenticationService.ValidateSignature(System.Collections.Generic.List{SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract},System.UInt16,System.UInt16,SurePassIdApiServer.FIDO.UAF.FinalChallengeParams,System.String)">
            <summary>
            Validate the transaction/authentication assertion signature
            </summary>
            <param name="tlvs"></param>
            <param name="algorithm"></param>
            <param name="keyFormat"></param>
            <param name="fcParams"></param>
            <param name="publicKeyBase64"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafAuthenticationService.IsImageContent(System.Byte[])">
            <summary>
            Determines if the provided byte array represents image content by checking byte signatures.
            </summary>
            <param name="bytes">The byte array to check</param>
            <returns>True if the bytes represent an image, false otherwise</returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafRegistrationService.InitializeRegistration(System.String)">
            <summary>
            Initiate the UAF registration process
            </summary>
            <param name="sessionToken"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafRegistrationService.ProcessRegistration(SurePassIdApiServer.FIDO.UAF.RegistrationResponse)">
            <summary>
            Process the registration response sent by authenticator.
            </summary>
            <param name="response">RegistrationResponse sent by an authenticator</param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafRegistrationService.ConformanceDeregistration(SurePassIdMfaDb.Entity.PartnerUser,System.String,System.Boolean)">
            <summary>
            Initiate the deregistration process for conformance testing.
            </summary>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafRegistrationService.InitializeDeregistration(SurePassIdMfaDb.Entity.PartnerUser,System.String[],System.Boolean)">
            <summary>
            
            </summary>
            <param name="user"></param>
            <param name="deregisterAaid"></param>
            <param name="deregisterAll"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafRegistrationService.ProcessAssertion(System.Collections.Generic.List{SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract},SurePassIdApiServer.FIDO.UAF.AuthenticatorRegistrationAssertion,SurePassIdApiServer.FIDO.UAF.FinalChallengeParams,SurePassIdMfaDb.Entity.DeviceFidoapp,SurePassIdApiServer.Models.DeviceMetadata.AuthenticatorCharacteristics@)">
            <summary>
            Process the registration assertion.
            </summary>
            <param name="tlvs"></param>
            <param name="assertion"></param>
            <param name="finalChallengeParams"></param>
            <param name="device"></param>
            <param name="metadata"></param>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafRegistrationService.VerifyAttestationCertificate(System.Collections.Generic.List{SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract},System.String,SurePassIdApiServer.Models.DeviceMetadata.AuthenticatorCharacteristics)">
            <summary>
            Verify the attestation certificate.
            </summary>
            <param name="tlvs"></param>
            <param name="rootCertificateString"></param>
            <param name="metadata"></param>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafRegistrationService.ValidateSignature(System.Collections.Generic.List{SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract},System.UInt16,System.UInt16,SurePassIdApiServer.FIDO.UAF.FinalChallengeParams)">
            <summary>
            Validate attestation signature.
            </summary>
            <param name="tlvs"></param>
            <param name="algorithm"></param>
            <param name="keyFormat"></param>
            <param name="fcParams"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdApiServer.Services.UafRegistrationService.StoreDevice(System.Collections.Generic.List{SurePassIdApiServer.FIDO.UAF.TLV.TlvAbstract},System.Int32,System.Int32,SurePassIdApiServer.FIDO.UAF.ServerData,System.String)">
            <summary>
            Store UAF device details after registration.
            </summary>
            <param name="tlvs"></param>
            <param name="partnerUserId"></param>
            <param name="partnerId"></param>
            <param name="serverData"></param>
            <param name="tcDisplay"></param>
        </member>
        <member name="P:SurePassIdCore.Configuration.FidoV2Settings.RorCacheTtlSeconds">
            <summary>
            Cache TTL in seconds for Related Origins Request (ROR) data.
            Default is 3600 seconds (1 hour).
            </summary>
        </member>
        <member name="P:SurePassIdCore.Configuration.FidoV2Settings.AllowOfflineFido2">
            <summary>
            When true, the server includes an offlineCredential object in the assertion result
            response, allowing the client to cache the public key for offline FIDO2 authentication.
            Default is false (disabled).
            </summary>
        </member>
        <member name="T:SurePassIdCore.Configuration.FidoV2AuthenticatorSelection">
            <summary>
            
            dictionary AuthenticatorSelectionCriteria {
                DOMString                    authenticatorAttachment;
                DOMString                    residentKey;
                boolean                      requireResidentKey = false;
                DOMString                    userVerification = "preferred";
            };
            
            https://www.w3.org/TR/webauthn-2/#dictionary-authenticatorSelection
            </summary>
        </member>
        <member name="P:SurePassIdCore.Configuration.FidoV2AuthenticatorSelection.AuthenticatorAttachment">
            <summary>
            If this member is present, eligible authenticators are filtered
            to only authenticators attached with the specified enumberateion.
            
            enum AuthenticatorAttachment {
                "platform",
                "cross-platform"
            };
            </summary>
        </member>
        <member name="P:SurePassIdCore.Configuration.FidoV2AuthenticatorSelection.ResidentKey">
            <summary>
            Specifies the extent to which the Relying Party desires to create
            a client-side discoverable credential. For historical reasons the
            naming retains the deprecated “resident” terminology. The value
            SHOULD be a member of ResidentKeyRequirement but client platforms
            MUST ignore unknown values, treating an unknown value as if the
            member does not exist. If no value is given then the effective
            value is required if requireResidentKey is true or discouraged
            if it is false or absent.
            
            enum ResidentKeyRequirement {
                "discouraged",
                "preferred",
                "required"
            };
            
            </summary>
        </member>
        <member name="P:SurePassIdCore.Configuration.FidoV2AuthenticatorSelection.RequireResidentKey">
            <summary>
            This member is retained for backwards compatibility with
            WebAuthn Level 1 and, for historical reasons, its naming
            retains the deprecated “resident” terminology for discoverable
            credentials. Relying Parties SHOULD set it to true if,
            and only if, residentKey is set to required.
            </summary>
        </member>
        <member name="P:SurePassIdCore.Configuration.FidoV2AuthenticatorSelection.UserVerification">
            <summary>
            This member describes the Relying Party's requirements regarding
            user verification for the create() operation. Eligible authenticators
            are filtered to only those capable of satisfying this requirement.
            The value SHOULD be a member of UserVerificationRequirement but
            client platforms MUST ignore unknown values, treating an unknown
            value as if the member does not exist.
            
            enum UserVerificationRequirement {
                "required",
                "preferred",
                "discouraged"
            };
            </summary>
        </member>
        <member name="M:SurePassIdCore.Crypto.OathAuthenticationApi.hmac_algorithm(System.String,System.Byte[],System.Byte[])">
            This an example implementation of the OATH OCRA algorithm.  
            Visit www.openauthentication.org for more information. 
             
            @author Johan Rydell, PortWise 
            This method uses the JCE to provide the crypto 
            algorithm. 
            HMAC computes a Hashed Message Authentication Code with the 
            crypto hash algorithm as a parameter. 
            
            @param crypto     the crypto algorithm 
                              (HmacSHA1, HmacSHA256, HmacSHA512) 
            @param keyBytes   the bytes to use for the HMAC key 
            @param text       the message or text to be authenticated. 
        </member>
        <member name="M:SurePassIdCore.Crypto.OathAuthenticationApi.GenerateOtp(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int32)">
            This method generates an OCRA HOTP value for the given 
            set of parameters. 
            
            @param crypto              the crypto algorithm 
            @param key                 the shared secret 
            @param movingFactor        the counter that changes 
                                        on a per use basis  
            @param question            the challenge question 
            @param password            a password that can be used 
            @param sessionInformation  Static information that 
                                       identifies the current session 
            @param timeStamp           a value that reflects a time  
            @param codeDigits          number of digits in the OTP 
            
            @return A numeric String in base 10 that includes 
            {@link truncationDigits} digits  
        </member>
        <member name="M:SurePassIdCore.Crypto.OathAuthenticationApi.GenerateOcra(SurePassIdCore.Crypto.KeyManagement,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            This method generates an OCRA HOTP value for the given 
            set of parameters. 
            
            @param ocraSuite    the OCRA Suite 
            @param key          the shared secret, HEX encoded 
            @param counter      the counter that changes on a 
                                per use basis, HEX encoded  
            @param question     the challenge question 
            @param password     a password that can be used 
            @param sessionInformation      Static information
                                           that identifies the  
                                           current session 
            @param timeStamp    a value that reflects a time  
             
            @return A numeric String in base 10 that includes 
            {@link truncationDigits} digits  
        </member>
        <member name="M:SurePassIdCore.Extension.StringExtension.AppendIp(System.String,System.String)">
            <summary>
             Appends the IP Address in square brackets at the end of this string.
            </summary>
            <param name="str"></param>
            <param name="ip"></param>
            <returns>A new string object with IP Address appended to it.</returns>
        </member>
        <member name="T:SurePassIdCore.FIDO.Common.ProtocolVersion">
            <summary>
            interface Version {
              readonly attribute unsigned short major;
              readonly attribute unsigned short minor;
            };
            </summary>
        </member>
        <member name="T:SurePassIdCore.Swagger.SwaggerExcludeAttribute">
            <summary>
            Attribute to excluded properties and parameters from swagger.
            </summary>
        </member>
        <member name="T:SurePassIdCore.Swagger.SwaggerExcludeParameterFilter">
            <summary>
            Filter to exclude parameters with the SwaggerExcludeAttribute.
            </summary>
        </member>
        <member name="T:SurePassIdMfaDb.Constant.FidoTokenState">
            <summary>
            These valies are used by [DeviceFIDOApp].[State]
            
            This replaces the legacy server DeviceFidoStatusEnum.
            The enum values are different and specific to this server's implementation.
            Numbering was started at 100 to avoid a colision with the legacy server values.
            </summary>
        </member>
        <member name="T:SurePassIdMfaDb.Constant.MobileUsage.FlagsEnum">
             <summary>
             Flags for the different mobile token usages.
            
             NOTE: The PushYesNo, PushWithFido, and Passwordless flags are exclusive.
                   Only one of those bits should be set.
                   If more than one of those are set, PushWithFido takes precedence.
            
             Bit Assignments:
             Byte Zero 1s reserved for Provisioning Authentication methods.
             The remaining bytes are use for Usages types/capabilities.
             </summary>
        </member>
        <member name="F:SurePassIdMfaDb.Constant.MobileUsage.FlagsEnum.RequireCredentials">
            <summary>
            Require User Creds for Provisioning.
            </summary>
        </member>
        <member name="F:SurePassIdMfaDb.Constant.MobileUsage.FlagsEnum.RequireProvisioningCode">
            <summary>
            Require User Creds for Provisioning.
            </summary>
        </member>
        <member name="F:SurePassIdMfaDb.Constant.MobileUsage.FlagsEnum.Oath">
            <summary>
            OTP
            </summary>
        </member>
        <member name="F:SurePassIdMfaDb.Constant.MobileUsage.FlagsEnum.PushYesNo">
            <summary>
            Push Yes/No (Accept/Deny).
            </summary>
        </member>
        <member name="F:SurePassIdMfaDb.Constant.MobileUsage.FlagsEnum.PushFido">
            <summary>
            Push With FIDO Authentication.
            </summary>
        </member>
        <member name="F:SurePassIdMfaDb.Constant.MobileUsage.FlagsEnum.Passwordless">
            <summary>
            Passwordless Push.
            </summary>
        </member>
        <member name="T:SurePassIdMfaDb.Constant.TokenType">
            <summary>
            -----------------------------------
            -- [Device].[Device Type] Values --
            -----------------------------------
            -- None = -1,
            -- Physical Tokens
            -- FOB = 0, ElectronicCard = 4, SmartCard = 5, MatrixCard = 6, FIDO = 12, NymiBand = 13, Treo = 14
            -- Soft OTP Token Apps
            -- Desktop = 1, GoogleAuthenticator = 8, SurePassAuthenticatorMobile = 9,
            -- Mobile Phones
            -- CellPhoneSMS = 7, CellPhoneVoice = 10, CellPhoneVoiceNoOTP = 11,
            </summary>
        </member>
        <member name="T:SurePassIdMfaDb.Constant.TokenFidoType">
            <summary>
            --------------------------------
            -- [Device].[OTP Type] Values --
            --------------------------------
            This is derived from the legacy OTPTypesEnum.
            These values are specific to FIDO type tokens.
            The names have been change to improve readability.
            The numeric values are used the the Device entity's OtpType column.
            </summary>
        </member>
        <member name="F:SurePassIdMfaDb.Constant.TokenFidoType.Fido2Passwordless">
            <summary>
            This is for FIDO2 tokens that support User Verification (UV)
            and are client-side discoverable with just the Relying Party ID (rpId)
            for first-factor authentication.
            </summary>
        </member>
        <member name="F:SurePassIdMfaDb.Constant.TokenFidoType.Fido2SecondFactor">
            <summary>
            These are FIDO2 tokens that are used for second-factor authentication.
            Any FIDO2 token can be used.
            </summary>
        </member>
        <member name="T:SurePassIdMfaDb.Constant.TokenOathType">
            <summary>
            --------------------------------
            -- [Device].[OTP Type] Values --
            --------------------------------
            This is derived from the legacy OTPTypesEnum.
            These values are specific to OATH type tokens.
            The names have been change to improve readability.
            The numeric values are used the the Device entity's OtpType column.
            </summary>
        </member>
        <member name="M:SurePassIdMfaDb.Entity.Device.SetManufacturingDate(System.String)">
            <summary>
            Convenience method to set a specific manufacturing date.
            </summary>
            <param name="manufacturingDate"></param>
        </member>
        <member name="M:SurePassIdMfaDb.Entity.PartnerUser.HasRole(System.String)">
            <summary>
            Determine if this PartnerUser has any of the requested roles by checking AdminPrivilege and SuperAdminPrivilege. 
            </summary>
            <param name="role"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdMfaDb.Entity.PartnerUser.HasRole(System.String[])">
            <summary>
            Used to check user roles
            </summary>
            <param name="roles"></param>
            <returns></returns>
        </member>
        <member name="M:SurePassIdMfaDb.Entity.PartnerUser.SetRole(System.String,SurePassIdMfaDb.Entity.PartnerUser)">
            <summary>
            Used to set role for partner user
            </summary>
            <param name="roles"></param>
            <param name="authenticatedUser">Used to determin if the authenticated user has the privledge to set specific roles.</param>
            <returns>Error message if ther was an error. Otherwise, null is returned.</returns>
        </member>
        <member name="M:SurePassIdMfaDb.Entity.PartnerUser.IsDisabled">
            <summary>
            Determine if this user's account is disabled.
            </summary>
            <returns></returns>
        </member>
        <member name="P:PushNotification.Push.APNs.Alert.Title">
            <summary>
            title
            
            String
            
            The title of the notification.Apple Watch displays this string in the
            short look notification interface. Specify a string that is quickly
            understood by the user.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Alert.Subtitle">
            <summary>
            subtitle
            
            String
            
            Additional information that explains the purpose of the notification.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Alert.Body">
            <summary>
            body
            
            String
            
            The content of the alert message.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Alert.LaunchImage">
            <summary>
            launch-image
            
            String
            
            The name of the launch image file to display. If the user chooses to launch
            your app, the contents of the specified image or storyboard file are displayed
            instead of your app's normal launch image.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Alert.TitleLocalizedKey">
            <summary>
            title-loc-key
            
            String
            
            The key for a localized title string. Specify this key instead of the title
            key to retrieve the title from your app’s Localizable.strings files. The
            value must contain the name of a key in your strings file.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Alert.TitleLocalizedArgList">
            <summary>
            title-loc-args
            
            Array of strings
            
            An array of strings containing replacement values for variables in your title
            string. Each %@ character in the string specified by the title-loc-key is
            replaced by a value from this array.The first item in the array replaces the
            first instance of the %@ character in the string, the second item replaces the
            second instance, and so on.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Alert.SubtitleLocalizedKey">
            <summary>
            subtitle-loc-key
            
            String
            
            The key for a localized subtitle string. Use this key, instead of the subtitle key,
            to retrieve the subtitle from your app's Localizable.strings file. The value must
            contain the name of a key in your strings file.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Alert.SubtitleLocalizedArgList">
            <summary>
            subtitle-loc-args
            
            Array of strings
            
            An array of strings containing replacement values for variables in your title string.
            Each %@ character in the string specified by subtitle-loc-key is replaced by a value
            from this array.The first item in the array replaces the first instance of the %@
            character in the string, the second item replaces the second instance, and so on.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Alert.LocalizedKey">
            <summary>
            loc-key
            
            String
            
            The key for a localized message string. Use this key, instead of the
            body key, to retrieve the message text from your app's
            Localizable.strings file. The value must contain the name of a key
            in your strings file.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Alert.LocalizedArgList">
            <summary>
            loc-args
            
            Array of strings
            
            An array of strings containing replacement values for variables in your
            message text.Each %@ character in the string specified by loc-key is
            replaced by a value from this array.The first item in the array replaces
            the first instance of the %@ character in the string, the second item
            replaces the second instance, and so on.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Aps.Alert">
            <summary>
            alert
            
            Dictionary(or String)
            
            The information for displaying an alert.A dictionary is recommended.
            If you specify a string, the alert displays your string as the body text.
            For a list of dictionary keys, see Table 2.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Aps.Badge">
            <summary>
            badge
            
            Number
            
            The number to display in a badge on your app’s icon.Specify 0 to remove
            the current badge, if any.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Aps.Sound">
            <summary>
            sound
            
            String
            
            The name of a sound file in your app’s main bundle or in the Library/Sounds
            folder of your app’s container directory. Specify the string "default" to
            play the system sound. Use this key for regular notifications. For critical
            alerts, use the sound dictionary instead. For information about how to prepare
            sounds, see UNNotificationSound.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Aps.ThreadId">
            <summary>
            thread-id
            
            String
            
            An app-specific identifier for grouping related notifications.
            This value corresponds to the threadIdentifier property in the
            UNNotificationContent object.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Aps.Category">
            <summary>
            category
            
            String
            
            The notification’s type.This string must correspond to the identifier
            of one of the UNNotificationCategory objects you register at launch
            time. See Declaring Your Actionable Notification Types.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Aps.ContentAvailable">
            <summary>
            content-available
            
            Number
            
            The background notification flag. To perform a silent background update,
            specify the value 1 and don't include the alert, badge, or sound keys in
            your payload. See Pushing Background Updates to Your App.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Aps.MutableContent">
            <summary>
            mutable-content
            
            Number
            
            The notification service app extension flag. If the value is 1, the system
            passes the notification to your notification service app extension before
            delivery.Use your extension to modify the notification’s content.
            See Modifying Content in Newly Delivered Notifications.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Aps.TargetContentId">
            <summary>
            target-content-id
            
            String
            
            The identifier of the window brought forward. The value of this key will be
            populated on the UNNotificationContent object created from the push payload.
            Access the value using the UNNotificationContent object's
            targetContentIdentifier property.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Sound.Critical">
            <summary>
            critical
            
            Number
            
            The critical alert flag.Set to 1 to enable the critical alert.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Sound.Name">
            <summary>
            name
            
            String
            
            The name of a sound file in your app’s main bundle or in the
            Library/Sounds folder of your app’s container directory. Specify the
            string "default" to play the system sound.For information about how
            to prepare sounds, see UNNotificationSound.
            </summary>
        </member>
        <member name="P:PushNotification.Push.APNs.Sound.Volume">
            <summary>
            volume
            
            Number
            
            The volume for the critical alert’s sound. Set this to a value
            between 0.0 (silent) and 1.0 (full volume).
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.AndroidConfig">
            <summary>
            Android specific options for messages sent through FCM connection server.
            </summary>
        </member>
        <member name="P:PushNotification.Push.FCM.AndroidConfig.CollapseKey">
            <summary>
            An identifier of a group of messages that can be collapsed, so that only the last message gets sent
            when delivery can be resumed. A maximum of 4 different collapse keys is allowed at any given time.
            </summary>
        </member>
        <member name="P:PushNotification.Push.FCM.AndroidConfig.Priority">
            <summary>
            Output Only. The identifier of the message sent, in the format of projects/*/messages/{message_id}.
            </summary>
        </member>
        <member name="P:PushNotification.Push.FCM.AndroidConfig.TTL">
             <summary>
             How long (in seconds) the message should be kept in FCM storage if the device is offline. The maximum
             time to live supported is 4 weeks, and the default value is 4 weeks if not set. Set it to 0 if want to
             send the message immediately. In JSON format, the Duration type is encoded as a string rather than an
             object, where the string ends in the suffix "s" (indicating seconds) and is preceded by the number of
             seconds, with nanoseconds expressed as fractional seconds. For example, 3 seconds with 0 nanoseconds
             should be encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should be expressed in JSON
             format as "3.000000001s". The ttl will be rounded down to the nearest second.
            
             A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
             </summary>
        </member>
        <member name="P:PushNotification.Push.FCM.AndroidConfig.RestrictedPackageName">
            <summary>
            Package name of the application where the registration token must match in order to receive the message.
            </summary>
        </member>
        <member name="P:PushNotification.Push.FCM.AndroidConfig.Data">
             <summary>
             Arbitrary key/value payload. If present, it will override google.firebase.fcm.v1.Message.data.
            
             An object containing a list of "key": value pairs.Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
             </summary>
        </member>
        <member name="P:PushNotification.Push.FCM.AndroidConfig.Notification">
            <summary>
            Notification to send to android devices.
            </summary>
        </member>
        <member name="P:PushNotification.Push.FCM.AndroidConfig.FcmOptions">
            <summary>
            Options for features provided by the FCM SDK for Android.
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.AndroidFcmOptions">
            <summary>
            Options for features provided by the FCM SDK for Android.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidFcmOptions.analytics_label">
            <summary>
            Label associated with the message's analytics data.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidMessagePriority.NORMAL">
            <summary>
            Default priority for data messages. Normal priority messages won't open network connections
            on a sleeping device, and their delivery may be delayed to conserve the battery. For less
            time-sensitive messages, such as notifications of new email or other data to sync, choose
            normal delivery priority.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidMessagePriority.HIGH">
            <summary>
            Default priority for notification messages. FCM attempts to deliver high priority messages
            immediately, allowing the FCM service to wake a sleeping device when possible and open a
            network connection to your app server. Apps with instant messaging, chat, or voice call
            alerts, for example, generally need to open a network connection and make sure FCM delivers
            the message to the device without delay. Set high priority if the message is time-critical
            and requires the user's immediate interaction, but beware that setting your messages to
            high priority contributes more to battery drain compared with normal priority messages.
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.AndroidNotification">
            <summary>
            Notification to send to android devices.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.title">
            <summary>
            The notification's title. If present, it will override google.firebase.fcm.v1.Notification.title.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.body">
            <summary>
            The notification's body text. If present, it will override google.firebase.fcm.v1.Notification.body.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.icon">
            <summary>
            The notification's icon. Sets the notification icon to myicon for drawable resource myicon. If you
            don't send this key in the request, FCM displays the launcher icon specified in your app manifest.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.color">
            <summary>
            The notification's icon color, expressed in #rrggbb format.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.sound">
            <summary>
            The sound to play when the device receives the notification. Supports "default" or the filename of
            a sound resource bundled in the app. Sound files must reside in /res/raw/.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.tag">
            <summary>
            Identifier used to replace existing notifications in the notification drawer. If not specified,
            each request creates a new notification. If specified and a notification with the same tag is
            already being shown, the new notification replaces the existing one in the notification drawer.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.click_action">
            <summary>
            The action associated with a user click on the notification. If specified, an activity with a
            matching intent filter is launched when a user clicks on the notification.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.body_loc_key">
            <summary>
            The key to the body string in the app's string resources to use to localize the body text to
            the user's current localization. See String Resources for more information.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.body_loc_args">
            <summary>
            The key to the body string in the app's string resources to use to localize the body text to
            the user's current localization. See String Resources for more information.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.title_loc_key">
            <summary>
            The key to the title string in the app's string resources to use to localize the title text
            to the user's current localization. See String Resources for more information.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.title_loc_args">
            <summary>
            Variable string values to be used in place of the format specifiers in title_loc_key to use
            to localize the title text to the user's current localization. See Formatting and Styling
            for more information.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.channel_id">
            <summary>
            The notification's channel id (new in Android O). The app must create a channel with this
            channel ID before any notification with this channel ID is received. If you don't send this
            channel ID in the request, or if the channel ID provided has not yet been created by the app,
            FCM uses the channel ID specified in the app manifest.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.ticker">
            <summary>
            Sets the "ticker" text, which is sent to accessibility services. Prior to API level 21 (Lollipop),
            sets the text that is displayed in the status bar when the notification first arrives.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.sticky">
            <summary>
            When set to false or unset, the notification is automatically dismissed when the user clicks it in
            the panel. When set to true, the notification persists even when the user clicks it.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.event_time">
             <summary>
             string (Timestamp format)
             
             Set the time that the event in the notification occurred. Notifications in the panel are sorted by this time.
             A point in time is represented using protobuf.Timestamp.
            
             A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.Example: "2014-10-02T15:01:23.045123456Z".
             </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.local_only">
            <summary>
            Set whether or not this notification is relevant only to the current device. Some notifications can be
            bridged to other devices for remote display, such as a Wear OS watch. This hint can be set to recommend
            this notification not be bridged. See Wear OS guides.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.notification_priority">
            <summary>
            Set the relative priority for this notification. Priority is an indication of how much of the user's
            attention should be consumed by this notification. Low-priority notifications may be hidden from the
            user in certain situations, while the user might be interrupted for a higher-priority notification.
            The effect of setting the same priorities may differ slightly on different platforms. Note this
            priority differs from AndroidMessagePriority. This priority is processed by the client after the
            message has been delivered, whereas AndroidMessagePriority is an FCM concept that controls when the
            message is delivered.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.default_sound">
            <summary>
            If set to true, use the Android framework's default sound for the notification. Default values are
            specified in config.xml.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.default_vibrate_timings">
            <summary>
            If set to true, use the Android framework's default vibrate pattern for the notification. Default
            values are specified in config.xml. If default_vibrate_timings is set to true and vibrate_timings
            is also set, the default value is used instead of the user-specified vibrate_timings.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.default_light_settings">
            <summary>
            If set to true, use the Android framework's default LED light settings for the notification. Default
            values are specified in config.xml. If default_light_settings is set to true and light_settings is
            also set, the user-specified light_settings is used instead of the default value.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.vibrate_timings">
             <summary>
             Set the vibration pattern to use. Pass in an array of protobuf.Duration to turn on or off the vibrator.
             The first value indicates the Duration to wait before turning the vibrator on. The next value indicates
             the Duration to keep the vibrator on. Subsequent values alternate between Duration to turn the vibrator
             off and to turn the vibrator on. If vibrate_timings is set and default_vibrate_timings is set to true,
             the default value is used instead of the user-specified vibrate_timings.
            
             A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
             </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.visibility">
            <summary>
            Set the Notification.visibility of the notification.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.notification_count">
            <summary>
            Sets the number of items this notification represents. May be displayed as a badge count for launchers
            that support badging.See Notification Badge. For example, this might be useful if you're using just one
            notification to represent multiple new messages but you want the count here to represent the number of
            total new messages. If zero or unspecified, systems that support badging use the default, which is to
            increment a number displayed on the long-press menu each time a new notification arrives.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.light_settings">
            <summary>
            Settings to control the notification's LED blinking rate and color if LED is available on the device.
            The total blinking time is controlled by the OS.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.AndroidNotification.image">
            <summary>
            Contains the URL of an image that is going to be displayed in a notification. If present, it will
            override google.firebase.fcm.v1.Notification.image.
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.ApnsConfig">
            <summary>
            Apple Push Notification Service specific options.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.ApnsConfig.headers">
            <summary>
            HTTP request headers defined in Apple Push Notification Service. Refer to APNs request headers for supported
            headers, e.g. "apns-priority": "10".
            
            An object containing a list of "key": value pairs.Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
            
            https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns/
            </summary>
        </member>
        <member name="P:PushNotification.Push.FCM.ApnsConfig.Payload">
             <summary>
            APNs payload as a JSON object, including both aps dictionary and custom payload. See Payload Key Reference.
            If present, it overrides
            google.firebase.fcm.v1.Notification.title and
            google.firebase.fcm.v1.Notification.body.
             </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.ApnsConfig.fcm_options">
            <summary>
            Options for features provided by the FCM SDK for iOS.
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.ApnsFcmOptions">
            <summary>
            Options for features provided by the FCM SDK for iOS.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.ApnsFcmOptions.analytics_label">
            <summary>
            Label associated with the message's analytics data.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.ApnsFcmOptions.image">
            <summary>
            Contains the URL of an image that is going to be displayed in a notification.
            If present, it will override google.firebase.fcm.v1.Notification.image.
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.Color">
            <summary>
            Represents a color in the RGBA color space. This representation is designed for simplicity
            of conversion to/from color representations in various languages over compactness; for
            example, the fields of this representation can be trivially provided to the constructor
            of "java.awt.Color" in Java; it can also be trivially provided to UIColor's
            "+colorWithRed:green:blue:alpha" method in iOS; and, with just a little work, it can be
            easily formatted into a CSS "rgba()" string in JavaScript, as well.
            
            Note: this proto does not carry information about the absolute color space that should
            be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.).
            By default, applications SHOULD assume the sRGB color space.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.Color.red">
            <summary>
            The amount of red in the color as a value in the interval [0, 1].
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.Color.green">
            <summary>
            The amount of green in the color as a value in the interval [0, 1].
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.Color.blue">
            <summary>
            The amount of blue in the color as a value in the interval [0, 1].
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.Color.alpha">
             <summary>
             The fraction of this color that should be applied to the pixel. That is, the final
             pixel color is defined by the equation:
            
             pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
            
             This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0
             corresponds to a completely transparent color.This uses a wrapper message rather than
             a simple float scalar so that it is possible to distinguish between a default value
             and the value being unset. If omitted, this color object is to be rendered as a solid
             color (as if the alpha value had been explicitly given with a value of 1.0).
             </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.FcmMessage">
            <summary>
            Message to send by Firebase Cloud Messaging Service.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmMessage.name">
            <summary>
            Output Only. The identifier of the message sent, in the format of projects/*/messages/{message_id}.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmMessage.data">
             <summary>
             Input only. Arbitrary key/value payload. 
             The key should not be a reserved word ("from", "message_type", or any word starting with "google" or "gcm").
            
             An object containing a list of "key": value pairs.Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
             </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmMessage.notification">
            <summary>
            Input only. Basic notification template to use across all platforms.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmMessage.android">
            <summary>
            Input only. Android specific options for messages sent through FCM connection server.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmMessage.webpush">
            <summary>
            Input only. Webpush protocol options.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmMessage.apns">
            <summary>
            Input only. Apple Push Notification Service specific options.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmMessage.fcm_options">
            <summary>
            Input only. Template for FCM SDK feature options to use across all platforms.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmMessage.token">
            <summary>
            Registration token to send a message to.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmMessage.topic">
            <summary>
            Topic name to send a message to, e.g. "weather". Note: "/topics/" prefix should not be provided.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmMessage.condition">
            <summary>
            Condition to send a message to, e.g. "'foo' in topics &amp;&amp; 'bar' in topics".
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.FcmNotification">
            <summary>
            Basic notification template to use across all platforms.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmNotification.title">
            <summary>
            The notification's title.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmNotification.body">
            <summary>
            The notification's body text.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmNotification.image">
            <summary>
            Contains the URL of an image that is going to be downloaded on the device and displayed in a notification.
            JPEG, PNG, BMP have full support across platforms. Animated GIF and video only work on iOS. WebP and HEIF
            have varying levels of support across platforms and platform versions. Android has 1MB image size limit.
            Quota usage and implications/costs for hosting image on Firebase Storage: https://firebase.google.com/pricing
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.FcmOptions">
            <summary>
            Platform independent options for features provided by the FCM SDKs.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmOptions.analytics_label">
            <summary>
            Label associated with the message's analytics data.
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.FcmSend">
            <summary>
            Send a message to specified target (a registration token, topic or condition).
            
            https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages/send?authuser=3
            </summary>
        </member>
        <member name="M:PushNotification.Push.FCM.FcmSend.Send(PushNotification.Push.FCM.FcmMessage,System.String)">
            <summary>
            HTTP request
            
            POST https://fcm.googleapis.com/v1/{parent=projects/*}/messages:send
                
            The URL uses gRPC Transcoding syntax.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmRequest.validate_only">
            <summary>
            Flag for testing the request without actually delivering the message.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.FcmRequest.message">
            <summary>
            Flag for testing the request without actually delivering the message.
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.LightSettings">
            <summary>
            Settings to control notification LED.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.LightSettings.color">
            <summary>
            Required. Set color of the LED with google.type.Color.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.LightSettings.light_on_duration">
            <summary>
            Required. Along with light_off_duration, define the blink rate of LED flashes.
            Resolution defined by proto.Duration
            
            A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.LightSettings.light_off_duration">
            <summary>
            Required. Along with light_on_duration, define the blink rate of LED flashes.
            Resolution defined by proto.Duration
            
            A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.NotificationPriority">
            <summary>
            Priority levels of a notification.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.NotificationPriority.PRIORITY_UNSPECIFIED">
            <summary>
            If priority is unspecified, notification priority is set to PRIORITY_DEFAULT.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.NotificationPriority.PRIORITY_MIN">
            <summary>
            Lowest notification priority. Notifications with this PRIORITY_MIN might not be shown
            to the user except under special circumstances, such as detailed notification logs.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.NotificationPriority.PRIORITY_LOW">
            <summary>
            Lower notification priority. The UI may choose to show the notifications smaller, or
            at a different position in the list, compared with notifications with PRIORITY_DEFAULT.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.NotificationPriority.PRIORITY_DEFAULT">
            <summary>
            Default notification priority. If the application does not prioritize its own
            notifications, use this value for all notifications.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.NotificationPriority.PRIORITY_HIGH">
            <summary>
            Higher notification priority. Use this for more important notifications or alerts.
            The UI may choose to show these notifications larger, or at a different position in
            the notification lists, compared with notifications with PRIORITY_DEFAULT.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.NotificationPriority.PRIORITY_MAX">
            <summary>
            Highest notification priority. Use this for the application's most important items
            that require the user's prompt attention or input.
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.Visibility">
            <summary>
            Different visibility levels of a notification.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.Visibility.VISIBILITY_UNSPECIFIED">
            <summary>
            If unspecified, default to Visibility.PRIVATE.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.Visibility.PRIVATE">
            <summary>
            Show this notification on all lockscreens, but conceal sensitive or private information on secure lockscreens.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.Visibility.PUBLIC">
            <summary>
            Show this notification in its entirety on all lockscreens.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.Visibility.SECRET">
            <summary>
            Do not reveal any part of this notification on a secure lockscreen.
            </summary>
        </member>
        <member name="T:PushNotification.Push.FCM.WebpushConfig">
            <summary>
            Webpush protocol options.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.WebpushConfig.headers">
            <summary>
            HTTP headers defined in webpush protocol. Refer to Webpush protocol for supported headers, e.g. "TTL": "15".
            
            An object containing a list of "key": value pairs.Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.WebpushConfig.data">
            <summary>
            Arbitrary key/value payload. If present, it will override google.firebase.fcm.v1.Message.data.
            
            An object containing a list of "key": value pairs.Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.WebpushConfig.notification">
            <summary>
            object (Struct format)
            Web Notification options as a JSON object. Supports Notification instance properties as defined in Web Notification API.
            If present, "title" and "body" fields override
            google.firebase.fcm.v1.Notification.title and
            google.firebase.fcm.v1.Notification.body.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.WebpushConfig.fcm_options">
            <summary>
            Input only. Template for FCM SDK feature options to use across all platforms.
            </summary>
        </member>
        <member name="F:PushNotification.Push.FCM.WebpushFcmOptions.link">
            <summary>
            Options for features provided by the FCM SDK for Web.
            </summary>
        </member>
    </members>
</doc>
