public JsonWebKeySetServiceTests() { _options = new Mock <IOptions <JwksOptions> >(); _store = new InMemoryStore(_options.Object); _jwksService = new JwksService(_store, new JwkService(), _options.Object); _options.Setup(s => s.Value).Returns(new JwksOptions()); }
public GenericStoreServiceTest(TWarmup warmup) { WarmupData = warmup; _store = WarmupData.Services.GetRequiredService <IJsonWebKeyStore>(); _options = WarmupData.Services.GetRequiredService <IOptions <JwtOptions> >(); this.WarmupData.Clear(); }
public GenericStoreServiceTest(TWarmup warmup) { WarmupData = warmup; _keyService = WarmupData.Services.GetRequiredService <IJsonWebKeySetService>(); _jsonWebKeyStore = WarmupData.Services.GetRequiredService <IJsonWebKeyStore>(); this.WarmupData.Clear(); }
public WarmupInMemoryStore() { var serviceCollection = new ServiceCollection(); serviceCollection.AddJwksManager().PersistKeysInMemory(); Services = serviceCollection.BuildServiceProvider(); _store = Services.GetRequiredService <IJsonWebKeyStore>(); }
public WarmupFileStore() { var serviceCollection = new ServiceCollection(); serviceCollection.AddLogging(); serviceCollection.AddMemoryCache(); serviceCollection.AddJwksManager().PersistKeysToFileSystem(new DirectoryInfo(Path.Combine(Directory.GetCurrentDirectory(), "files"))); Services = serviceCollection.BuildServiceProvider(); _jsonWebKeyStore = Services.GetRequiredService <IJsonWebKeyStore>(); }
public WarmupDatabaseInMemory() { var serviceCollection = new ServiceCollection(); void DatabaseOptions(DbContextOptionsBuilder opt) => opt.UseInMemoryDatabase("Tests").EnableSensitiveDataLogging(); serviceCollection.AddMemoryCache(); serviceCollection.AddLogging(); serviceCollection.AddDbContext <AspNetGeneralContext>(DatabaseOptions); serviceCollection.AddJwksManager(o => { o.Jws = JwsAlgorithm.ES256; o.Jwe = JweAlgorithm.RsaOAEP.WithEncryption(Encryption.Aes128CbcHmacSha256); }) .PersistKeysToDatabaseStore <AspNetGeneralContext>(); Services = serviceCollection.BuildServiceProvider(); _jsonWebKeyStore = Services.GetRequiredService <IJsonWebKeyStore>(); }
public WarmupDatabaseInMemory() { var serviceCollection = new ServiceCollection(); void DatabaseOptions(DbContextOptionsBuilder opt) => opt.UseInMemoryDatabase("Tests").EnableSensitiveDataLogging(); serviceCollection.AddMemoryCache(); serviceCollection.AddLogging(); serviceCollection.AddDbContext <AspNetGeneralContext>(DatabaseOptions); serviceCollection.AddJwksManager(o => { o.Jws = Algorithm.Create(AlgorithmType.AES, JwtType.Jws); o.Jwe = Algorithm.Create(AlgorithmType.AES, JwtType.Jwe); }) .PersistKeysToDatabaseStore <AspNetGeneralContext>(); Services = serviceCollection.BuildServiceProvider(); _jsonWebKeyStore = Services.GetRequiredService <IJsonWebKeyStore>(); }
public KeyServiceInMemoryTest(WarmupInMemoryStore inMemoryWarmup) { InMemoryWarmupData = inMemoryWarmup; _keyService = InMemoryWarmupData.Services.GetRequiredService <IJsonWebKeySetService>(); _jsonWebKeyStore = InMemoryWarmupData.Services.GetRequiredService <IJsonWebKeyStore>(); }
public JwksService(IJsonWebKeyStore store, IJsonWebKeyService jwkService, IOptions <JwksOptions> options) { _store = store; _jwkService = jwkService; _options = options; }
public KeyServiceFileSystemTest(WarmupFileStore fileStoreWarmup) { FileStoreWarmupData = fileStoreWarmup; _keyService = FileStoreWarmupData.Services.GetRequiredService <IJsonWebKeySetService>(); _jsonWebKeyStore = FileStoreWarmupData.Services.GetRequiredService <IJsonWebKeyStore>(); }
public JwtService(IJsonWebKeyStore store, IOptions <JwtOptions> options) { _store = store; _options = options; }
public async Task Invoke(HttpContext httpContext, IJsonWebKeySetService keyService, IJsonWebKeyStore store, IOptions <JwksOptions> options) { foreach (var securityKeyWithPrivate in store.Get(options.Value.AlgorithmsToKeep)) { securityKeyWithPrivate.SetParameters(); store.Update(securityKeyWithPrivate); } keyService.Generate(); await httpContext.Response.CompleteAsync(); }
public async Task Invoke(HttpContext httpContext, IJsonWebKeySetService keyService, IJsonWebKeyStore store, IOptions <JwksOptions> options) { foreach (var securityKeyWithPrivate in store.Get(JsonWebKeyType.Jws, options.Value.AlgorithmsToKeep)) { store.Revoke(securityKeyWithPrivate); } keyService.GenerateSigningCredentials(); await httpContext.Response.CompleteAsync(); }