/// <summary> /// Initialize method implementation /// </summary> public override void Initialize(BaseProviderParams externalsystem) { try { if (!_isinitialized) { Trace.WriteLine("WebAuthNProvider Initialize"); if (externalsystem is WebAuthNProviderParams) { WebAuthNProviderParams param = externalsystem as WebAuthNProviderParams; Config = param.Config; Enabled = param.Enabled; IsRequired = param.IsRequired; WizardEnabled = param.EnrollWizard; ForceEnrollment = param.ForceWizard; PinRequired = param.PinRequired; PinRequirements = param.PinRequirements; DirectLogin = param.DirectLogin; ConveyancePreference = param.Options.AttestationConveyancePreference; Attachement = param.Options.AuthenticatorAttachment; Extentions = param.Options.Extensions; Location = param.Options.Location; UserVerificationIndex = param.Options.UserVerificationIndex; UserVerificationMethod = param.Options.UserVerificationMethod; UserVerificationRequirement = param.Options.UserVerificationRequirement; RequireResidentKey = param.Options.RequireResidentKey; ChallengeSize = param.Configuration.ChallengeSize; HmacSecret = param.Options.HmacSecret; CredProtect = (UserVerification?)param.Options.CredProtect; EnforceCredProtect = param.Options.EnforceCredProtect; IdentityModelEventSource.ShowPII = param.Configuration.ShowPII; Fido2Configuration fido = new Fido2Configuration() { ServerDomain = param.Configuration.ServerDomain, ServerName = param.Configuration.ServerName, Origin = param.Configuration.Origin, Timeout = param.Configuration.Timeout, TimestampDriftTolerance = param.Configuration.TimestampDriftTolerance, ChallengeSize = param.Configuration.ChallengeSize, RequireValidAttestationRoot = param.Configuration.RequireValidAttestationRoot }; Trace.WriteLine("WebAuthNAdapter Create"); _webathn = new WebAuthNAdapter(fido, _simplemetadataservice); _isinitialized = true; Trace.WriteLine("WebAuthNAdapter Created"); Trace.WriteLine("WebAuthNProvider Initialized"); return; } else { throw new InvalidCastException("Invalid WebAuthN Provider !"); } } } catch (Exception ex) { this.Enabled = false; throw ex; } }
/// <summary> /// Initialize method implementation /// </summary> public override void Initialize(BaseProviderParams externalsystem) { try { if (!_isinitialized) { Trace.WriteLine("WebAuthNProvider Initialize"); if (externalsystem is WebAuthNProviderParams) { WebAuthNProviderParams param = externalsystem as WebAuthNProviderParams; Config = param.Config; Enabled = param.Enabled; IsRequired = param.IsRequired; WizardEnabled = param.EnrollWizard; WizardDisabled = param.EnrollWizardDisabled; ForceEnrollment = param.ForceWizard; PinRequired = param.PinRequired; PinRequirements = param.PinRequirements; DirectLogin = param.DirectLogin; ConveyancePreference = param.Options.AttestationConveyancePreference; Attachement = param.Options.AuthenticatorAttachment; Extentions = param.Options.Extensions; UserVerificationMethod = param.Options.UserVerificationMethod; UserVerificationRequirement = param.Options.UserVerificationRequirement.ToEnum <UserVerificationRequirement>(); RequireResidentKey = param.Options.RequireResidentKey; ChallengeSize = param.Configuration.ChallengeSize; ForbiddenBrowsers = param.Configuration.ForbiddenBrowsers; InitiatedBrowsers = param.Configuration.InitiatedBrowsers; NoCounterBrowsers = param.Configuration.NoCounterBrowsers; Fido2Configuration fido = new Fido2Configuration() { ServerDomain = param.Configuration.ServerDomain, ServerName = param.Configuration.ServerName, Origin = param.Configuration.Origin, Timeout = param.Configuration.Timeout, TimestampDriftTolerance = param.Configuration.TimestampDriftTolerance, ChallengeSize = param.Configuration.ChallengeSize }; Trace.WriteLine("WebAuthNAdapter Create"); _webathn = new WebAuthNAdapter(fido, _metadataservice); Trace.WriteLine("WebAuthNAdapter Created"); _isinitialized = true; Trace.WriteLine("WebAuthNProvider Initialized"); return; } else { throw new InvalidCastException("Invalid WebAuthN Provider !"); } } } catch (Exception ex) { this.Enabled = false; throw ex; } }
/// <summary> /// Initialize method implementation /// </summary> public override void Initialize(BaseProviderParams externalsystem) { try { if (!_isinitialized) { if (externalsystem is WebAuthNProviderParams) { WebAuthNProviderParams param = externalsystem as WebAuthNProviderParams; Config = param.Config; Enabled = param.Enabled; IsRequired = param.IsRequired; WizardEnabled = param.EnrollWizard; ForceEnrollment = param.ForceWizard; PinRequired = param.PinRequired; DirectLogin = param.DirectLogin; ConveyancePreference = param.Options.AttestationConveyancePreference; Attachement = param.Options.AuthenticatorAttachment; Extentions = param.Options.Extensions; Location = param.Options.Location; UserVerificationIndex = param.Options.UserVerificationIndex; UserVerificationMethod = param.Options.UserVerificationMethod; UserVerificationRequirement = param.Options.UserVerificationRequirement; RequireResidentKey = param.Options.RequireResidentKey; ChallengeSize = param.Configuration.ChallengeSize; IdentityModelEventSource.ShowPII = param.Configuration.ShowPII; Fido2Configuration fido = new Fido2Configuration() { ServerDomain = param.Configuration.ServerDomain, ServerName = param.Configuration.ServerName, Origin = param.Configuration.Origin, Timeout = param.Configuration.Timeout, TimestampDriftTolerance = param.Configuration.TimestampDriftTolerance, ChallengeSize = param.Configuration.ChallengeSize, RequireValidAttestationRoot = param.Configuration.RequireValidAttestationRoot }; _webathn = new WebAuthNAdapter(fido, new SimpleMetadataService(new List <IMetadataRepository> { new StaticMetadataRepository(DateTime.Now.AddMinutes(1).ToUniversalTime()) })); _isinitialized = true; return; } else { throw new InvalidCastException("Invalid WebAuthN Provider !"); } } } catch (Exception ex) { this.Enabled = false; throw ex; } }