private static IArchiveClient CreateClient(ConnectionOptions options)
 {
     return(ArchiveClientFactory.CreateFromFiles(
                options.Host,
                options.Port,
                options.ClientCertificate,
                options.ClientKey,
                options.CaCertificate));
 }
Exemplo n.º 2
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors();
            services.AddAuthorization(auth =>
            {
                var authorizationPolicy = new AuthorizationPolicyBuilder()
                                          .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
                                          .RequireClaim(ClaimTypes.Name)
                                          .Build();
                auth.DefaultPolicy = authorizationPolicy;
            });

            services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
            .AddJwtBearer(options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer           = true,
                    ValidateAudience         = true,
                    ValidateLifetime         = true,
                    ValidateIssuerSigningKey = true,
                    ValidIssuer      = Configuration["SecurityDomain"],
                    ValidAudience    = Configuration["SecurityDomain"],
                    IssuerSigningKey = new SymmetricSecurityKey(
                        Encoding.UTF8.GetBytes(Configuration["SecurityKey"])),
                };
            });
            services.AddMvc();

            services.AddSingleton <ITestsFetcher, TestsFetcher>();

            services.AddSingleton(ArchiveClientFactory.CreateFromFiles(
                                      Configuration["ArchiveHost"],
                                      int.Parse(Configuration["ArchivePort"]),
                                      Configuration["ArchiveClientCertificatePath"],
                                      Configuration["ArchiveClienKeyPath"],
                                      Configuration["ArchiveCACertificatePath"]
                                      ));

            services.AddDbContext <UsersDbContext>(options => options.UseInMemoryDatabase("users"));
            services.AddDbContext <ProblemsDbContext>(options => options.UseInMemoryDatabase("problems"));
            services.AddSingleton <IHostedService, ProblemsSynchronizerService>();
        }
Exemplo n.º 3
0
 public ArchiveClientService(string host, int port, string clientCertificatePath, string clientKeyPath, string caCertificatePath, string bacsStatementsKey)
 {
     _bacsStatementsKey = bacsStatementsKey;
     _archiveClient     = ArchiveClientFactory.CreateFromFiles(host, port, clientCertificatePath, clientKeyPath, caCertificatePath);
 }