示例#1
0
 /// <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
     });
 }
示例#2
0
 public void RemoveCredentialToUser(Fido2User user, string aaguid)
 {
     _storedCredentials.RemoveAll(c => c.UserId.SequenceEqual(user.Id) && c.AaGuid.ToString().Equals(aaguid));
 }
示例#3
0
 public List <StoredCredential> GetCredentialsByUser(Fido2User user)
 {
     return(_storedCredentials.Where(c => c.UserId.SequenceEqual(user.Id)).ToList());
 }
示例#4
0
 public void AddCredentialToUser(Fido2User user, StoredCredential credential)
 {
     credential.UserId = user.Id;
     _storedCredentials.Add(credential);
 }
示例#5
0
 /// <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));
 }