// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef DEVICE_FIDO_FIDO_TYPES_H_ #define DEVICE_FIDO_FIDO_TYPES_H_ #include <cstdint> // The definitions below are for mojo-mappable types that need to be transferred // from Blink. Types that do not have mojo equivalents are better placed in // fido_constants.h. namespace device { // ProtocolVersion is the major protocol version of an authenticator device. enum class ProtocolVersion { … }; // Ctap2Version distinguishes different minor versions of the CTAP2 protocol. enum class Ctap2Version { … }; enum class CredentialType { … }; // Authenticator attachment constraint passed on from the relying party as a // parameter for AuthenticatorSelectionCriteria. |kAny| is equivalent to the // (optional) attachment field not being present. // https://w3c.github.io/webauthn/#attachment enum class AuthenticatorAttachment { … }; // A constraint on whether a client-side discoverable (resident) credential // should be created during registration. // // https://w3c.github.io/webauthn/#enum-residentKeyRequirement enum class ResidentKeyRequirement { … }; // User verification constraint passed on from the relying party as a parameter // for AuthenticatorSelectionCriteria and for CtapGetAssertion request. // https://w3c.github.io/webauthn/#enumdef-userverificationrequirement enum class UserVerificationRequirement { … }; // https://w3c.github.io/webauthn/#attestation-convey enum class AttestationConveyancePreference : uint8_t { … }; // https://w3c.github.io/webauthn#enumdef-largeblobsupport enum class LargeBlobSupport { … }; // LargeBlobSupportType enumerates the methods by which an authenticator may // support large blobs. enum class LargeBlobSupportType { … }; // AuthenticatorType enumerates the different types of authenticators that this // code handles. enum class AuthenticatorType { … }; } // namespace device #endif // DEVICE_FIDO_FIDO_TYPES_H_