using Bit.Core.Utilities.Fido2; namespace Bit.Core.Abstractions { public struct Fido2ConfirmNewCredentialParams { /// /// The name of the credential. /// public string CredentialName { get; set; } /// /// The name of the user. /// public string UserName { get; set; } /// /// The preference to whether or not the user must be verified before completing the operation. /// public Fido2UserVerificationPreference UserVerificationPreference { get; set; } /// /// The relying party identifier /// public string RpId { get; set; } } public interface IFido2MakeCredentialUserInterface : IFido2UserInterface { /// /// Inform the user that the operation was cancelled because their vault contains excluded credentials. /// /// The IDs of the excluded credentials. /// When user has confirmed the message Task InformExcludedCredentialAsync(string[] existingCipherIds); /// /// Ask the user to confirm the creation of a new credential. /// /// The parameters to use when asking the user to confirm the creation of a new credential. /// The ID of the cipher where the new credential should be saved, and if the user was verified before completing the operation Task<(string CipherId, bool UserVerified)> ConfirmNewCredentialAsync(Fido2ConfirmNewCredentialParams confirmNewCredentialParams); } }