public TokenServiceConfiguration() : base()
        {
            Tracing.Information("Configuring token service");
            Container.Current.SatisfyImportsOnce(this);
            GlobalConfiguration = ConfigurationRepository.Configuration;

            SecurityTokenService = typeof(TokenService);
            DefaultTokenLifetime = TimeSpan.FromHours(GlobalConfiguration.DefaultTokenLifetime);
            MaximumTokenLifetime = TimeSpan.FromDays(GlobalConfiguration.MaximumTokenLifetime);
            DefaultTokenType = GlobalConfiguration.DefaultTokenType;

            TokenIssuerName = GlobalConfiguration.IssuerUri;
            SigningCredentials = new X509SigningCredentials(ConfigurationRepository.SigningCertificate.Certificate);

            if (GlobalConfiguration.EnableDelegation)
            {
                Tracing.Information("Configuring identity delegation support");

                try
                {
                    var actAsRegistry = new ConfigurationBasedIssuerNameRegistry();
                    actAsRegistry.AddTrustedIssuer(ConfigurationRepository.SigningCertificate.Certificate.Thumbprint, GlobalConfiguration.IssuerUri);

                    var actAsHandlers = SecurityTokenHandlerCollectionManager["ActAs"];
                    actAsHandlers.Configuration.IssuerNameRegistry = actAsRegistry;
                    actAsHandlers.Configuration.AudienceRestriction.AudienceMode = AudienceUriMode.Never;
                }
                catch (Exception ex)
                {
                    Tracing.Error("Error configuring identity delegation");
                    Tracing.Error(ex.ToString());
                    throw;
                }
            }
        }
        public void UpdateConfiguration(GlobalConfiguration configuration)
        {
            using (var entities = IdentityServerConfigurationContext.Get())
            {
                var entity = Mapper.Map<GlobalConfiguration, Global>(configuration);
                entity.Name = StandardConfigurationName;

                entities.Global.Attach(entity);
                entities.Entry(entity).State = EntityState.Modified;

                entities.SaveChanges();
                CacheRepository.Invalidate(GlobalConfigurationCacheKey);
                CacheRepository.Invalidate(Constants.CacheKeys.WSFedMetadata);
            }
        }
 public void UpdateConfiguration(GlobalConfiguration configuration)
 {
     throw new NotImplementedException();
 }
 public void Setup()
 {
     config = ConfigurationFactory.Create(Constants.ConfigurationModes.LockedDown);
     request = new Request(config, new TestRelyingPartyRepository(), null);
     _alice = PrincipalFactory.Create(Constants.Principals.AliceUserName);
 }
 public Request(GlobalConfiguration configuration, IRelyingPartyRepository relyingPartyRepository, IDelegationRepository delegationRepository)
 {
     _configuration = configuration;
     RelyingPartyRepository = relyingPartyRepository;
     DelegationRepository = delegationRepository;
 }
 public Request(GlobalConfiguration configuration)
 {
     _configuration = configuration;
     Container.Current.SatisfyImportsOnce(this);
 }