public WsTrustTokenValidationParametersFactory(
     IdentityProviderProvider identityProviders,
     RelyingPartyProvider relyingParties,
     IHttpContextAccessor httpContextAccessor,
     ILogger <WsTrustTokenValidationParametersFactory> logger,
     IOptionsMonitor <WsTrustOptions> monitor)
 {
     _identityProviders   = identityProviders;
     _relyingParties      = relyingParties;
     _httpContextAccessor = httpContextAccessor;
     _logger             = logger;
     _options            = monitor.CurrentValue;
     _optionsChangeToken = monitor.OnChange((options, _) => _options = options);
 }
        public SecurityTokenService(
            IdentityProviderProvider identityProviders,
            RelyingPartyProvider relyingParties,
            IncomingClaimsMapper mapper,
            OutgoingSubjectFactory subjectFactory,
            SecurityTokenHandlerProvider securityTokenHandlerProvider,
            IServiceProvider services,
            ILoggerFactory loggerFactory,
            IOptions <WsTrustOptions> options,
            ISystemClock systemClock)
        {
            Logger = loggerFactory.CreateLogger(GetType().FullName);

            IdentityProviders            = identityProviders;
            RelyingParties               = relyingParties;
            Mapper                       = mapper;
            SubjectFactory               = subjectFactory;
            SecurityTokenHandlerProvider = securityTokenHandlerProvider;
            Services                     = services;
            Options                      = options.Value;
            SystemClock                  = systemClock;
        }