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