public ConfigurationOptions()
 {
     Data = new DatabaseOptions();
     Redis = new RedisOptions();
     KeyVault = new KeyVaultOptions();
     AzureAd = new AzureAdOptions();
 }
 /// <summary>
 /// Initializes a new instance of <see cref="Tailspin.Surveys.Web.Security.SurveysTokenService"/>.
 /// </summary>
 /// <param name="options"></param>
 /// <param name="tokenCacheService"></param>
 /// <param name="credentialService"></param>
 /// <param name="logger"></param>
 public SurveysTokenService(
     IOptions<ConfigurationOptions> options,
     ITokenCacheService tokenCacheService,
     ICredentialService credentialService,
     ILogger<SurveysTokenService> logger)
 {
     _adOptions = options?.Value?.AzureAd;
     _tokenCacheService = tokenCacheService;
     _credentialService = credentialService;
     _logger = logger;
 }
 /// <summary>
 /// Initializes a new instance of <see cref="Tailspin.Surveys.Web.Security.SurveyAuthenticationEvents"/>.
 /// </summary>
 /// <param name="adOptions">Application settings related to Azure Active Directory.</param>
 /// <param name="loggerFactory"><see cref="Microsoft.Extensions.Logging.ILoggerFactory"/> used to create type-specific <see cref="Microsoft.Extensions.Logging.ILogger"/> instances.</param>
 public SurveyAuthenticationEvents(AzureAdOptions adOptions, ILoggerFactory loggerFactory)
 {
     _adOptions = adOptions;
     _logger = loggerFactory.CreateLogger<SurveyAuthenticationEvents>();
 }