/// <summary> /// Create static method implementation /// </summary> public static RegisterCredentialOptions Create(Fido2Configuration config, byte[] challenge, Fido2User user, AuthenticatorSelection authenticatorSelection, AttestationConveyancePreference attestationConveyancePreference, List <PublicKeyCredentialDescriptor> excludeCredentials, AuthenticationExtensionsClientInputs extensions) { return(new RegisterCredentialOptions { Status = "ok", ErrorMessage = string.Empty, Challenge = challenge, Rp = new PublicKeyCredentialRpEntity(config.ServerDomain, config.ServerName, config.ServerIcon), Timeout = config.Timeout, User = user, PubKeyCredParams = new List <PubKeyCredParam>() { // Add additional as appropriate ES256, RS256, PS256, ES384, RS384, PS384, ES512, RS512, PS512, }, AuthenticatorSelection = authenticatorSelection, Attestation = attestationConveyancePreference, ExcludeCredentials = excludeCredentials ?? new List <PublicKeyCredentialDescriptor>(), Extensions = extensions }); }
public void RemoveCredentialToUser(Fido2User user, string aaguid) { _storedCredentials.RemoveAll(c => c.UserId.SequenceEqual(user.Id) && c.AaGuid.ToString().Equals(aaguid)); }
public List <StoredCredential> GetCredentialsByUser(Fido2User user) { return(_storedCredentials.Where(c => c.UserId.SequenceEqual(user.Id)).ToList()); }
public void AddCredentialToUser(Fido2User user, StoredCredential credential) { credential.UserId = user.Id; _storedCredentials.Add(credential); }
/// <summary> /// GetCredentialCreateOptions method implementation /// </summary> /// <returns>CredentialCreateOptions including a challenge to be sent to the browser/authr to create new credentials</returns> /// <param name="excludeCredentials">Recommended. This member is intended for use by Relying Parties that wish to limit the creation of multiple credentials for the same account on a single authenticator.The client is requested to return an error if the new credential would be created on an authenticator that also contains one of the credentials enumerated in this parameter.</param> public RegisterCredentialOptions GetRegisterCredentialOptions(Fido2User user, List <PublicKeyCredentialDescriptor> excludeCredentials, AuthenticationExtensionsClientInputs extensions = null) { return(GetRegisterCredentialOptions(user, excludeCredentials, AuthenticatorSelection.Default, AttestationConveyancePreference.None, extensions)); }