Skip to content

Commit 0095a2c

Browse files
Merge pull request #35 from TransactionProcessing/task/httpssecurityservice
Use HTTPS Security Service
2 parents 28df7dd + 6b67539 commit 0095a2c

File tree

6 files changed

+36
-17
lines changed

6 files changed

+36
-17
lines changed

FileProcessor.IntegrationTests/Common/DockerHelper.cs

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -332,11 +332,22 @@ await Retry.For(async () =>
332332

333333
// Setup the base address resolvers
334334
String EstateManagementBaseAddressResolver(String api) => $"http://127.0.0.1:{this.EstateManagementApiPort}";
335-
String SecurityServiceBaseAddressResolver(String api) => $"http://127.0.0.1:{this.SecurityServicePort}";
335+
String SecurityServiceBaseAddressResolver(String api) => $"https://127.0.0.1:{this.SecurityServicePort}";
336336
String FileProcessorBaseAddressResolver(String api) => $"http://127.0.0.1:{this.FileProcessorPort}";
337337
String EstateReportingBaseAddressResolver(String api) => $"http://127.0.0.1:{this.EstateReportingApiPort}";
338-
339-
HttpClient httpClient = new HttpClient();
338+
339+
HttpClientHandler clientHandler = new HttpClientHandler
340+
{
341+
ServerCertificateCustomValidationCallback = (message,
342+
certificate2,
343+
arg3,
344+
arg4) =>
345+
{
346+
return true;
347+
}
348+
349+
};
350+
HttpClient httpClient = new HttpClient(clientHandler);
340351
this.EstateClient = new EstateClient(EstateManagementBaseAddressResolver, httpClient);
341352
this.SecurityServiceClient = new SecurityServiceClient(SecurityServiceBaseAddressResolver, httpClient);
342353
this.EstateReportingClient = new EstateReportingClient(EstateReportingBaseAddressResolver, httpClient);
@@ -363,8 +374,8 @@ private IContainerService SetupFileProcessorContainer(String containerName, ILog
363374
logger.LogInformation("About to Start File Processor Container");
364375
List<String> environmentVariables = new List<String>();
365376
environmentVariables.Add($"EventStoreSettings:ConnectionString={eventStoreAddress}:{DockerHelper.EventStoreHttpDockerPort}");
366-
environmentVariables.Add($"AppSettings:SecurityService=http://{securityServiceContainerName}:{securityServicePort}");
367-
environmentVariables.Add($"SecurityConfiguration:Authority=http://{securityServiceContainerName}:{securityServicePort}");
377+
environmentVariables.Add($"AppSettings:SecurityService=https://{securityServiceContainerName}:{securityServicePort}");
378+
environmentVariables.Add($"SecurityConfiguration:Authority=https://{securityServiceContainerName}:{securityServicePort}");
368379
environmentVariables.Add($"urls=http://*:{DockerHelper.FileProcessorDockerPort}");
369380
environmentVariables.Add($"AppSettings:TransactionProcessorApi=http://{transactionProcessorContainerName}:{DockerHelper.TransactionProcessorDockerPort}");
370381
environmentVariables.Add($"AppSettings:EstateManagementApi=http://{estateManamgementContainerName}:{DockerHelper.EstateManagementDockerPort}");

FileProcessor.IntegrationTests/FileProcessor.IntegrationTests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99
<ItemGroup>
1010
<PackageReference Include="EstateReporting.Client" Version="1.0.13.1" />
1111
<PackageReference Include="Grpc.Net.Client" Version="2.35.0" />
12-
<PackageReference Include="Ductus.FluentDocker" Version="2.7.3" />
12+
<PackageReference Include="Ductus.FluentDocker" Version="2.10.7" />
1313
<PackageReference Include="EstateReporting.Database" Version="1.0.13.1" />
1414
<PackageReference Include="EstateManagement.Client" Version="1.0.10.2" />
1515
<PackageReference Include="EventStore.Client.Grpc.PersistentSubscriptions" Version="20.10.0" />
1616
<PackageReference Include="EventStore.Client.Grpc.ProjectionManagement" Version="20.10.0" />
1717
<PackageReference Include="EventStore.Client.Grpc.Streams" Version="20.10.0" />
1818
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" />
1919
<PackageReference Include="SecurityService.Client" Version="1.0.6.2" />
20-
<PackageReference Include="Shared.IntegrationTesting" Version="1.0.5" />
20+
<PackageReference Include="Shared.IntegrationTesting" Version="1.0.7" />
2121
<PackageReference Include="Shouldly" Version="4.0.3" />
2222
<PackageReference Include="SpecFlow.xUnit" Version="3.7.38" />
2323
<PackageReference Include="xunit" Version="2.4.1" />

FileProcessor/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ COPY . .
1212
WORKDIR "/src/FileProcessor"
1313
RUN dotnet build "FileProcessor.csproj" -c Release -o /app/build
1414

15+
# Sort out certificate stuff here
16+
RUN openssl x509 -inform DER -in /src/FileProcessor/aspnetapp-root-cert.cer -out /src/FileProcessor/aspnetapp-root-cert.crt
17+
RUN cp /src/FileProcessor/aspnetapp-root-cert.crt /usr/local/share/ca-certificates/
18+
RUN update-ca-certificates
19+
1520
FROM build AS publish
1621
RUN dotnet publish "FileProcessor.csproj" -c Release -o /app/publish
1722

FileProcessor/Startup.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -304,17 +304,20 @@ private void ConfigureMiddlewareServices(IServiceCollection services)
304304
})
305305
.AddJwtBearer(options =>
306306
{
307-
//options.SaveToken = true;
307+
options.BackchannelHttpHandler = new HttpClientHandler
308+
{
309+
ServerCertificateCustomValidationCallback =
310+
(message, certificate, chain, sslPolicyErrors) => true
311+
};
308312
options.Authority = ConfigurationReader.GetValue("SecurityConfiguration", "Authority");
309313
options.Audience = ConfigurationReader.GetValue("SecurityConfiguration", "ApiName");
310-
options.RequireHttpsMetadata = false;
314+
311315
options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
312-
{
313-
ValidateIssuer = true,
314-
ValidateAudience = false,
315-
ValidAudience = ConfigurationReader.GetValue("SecurityConfiguration", "ApiName"),
316-
ValidIssuer = ConfigurationReader.GetValue("SecurityConfiguration", "Authority"),
317-
};
316+
{
317+
ValidateAudience = false,
318+
ValidAudience = ConfigurationReader.GetValue("SecurityConfiguration", "ApiName"),
319+
ValidIssuer = ConfigurationReader.GetValue("SecurityConfiguration", "Authority"),
320+
};
318321
options.IncludeErrorDetails = true;
319322
});
320323

FileProcessor/appsettings.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
},
2020
"SecurityConfiguration": {
2121
"ApiName": "fileProcessor",
22-
"Authority": "http://192.168.1.133:5001"
22+
"Authority": "https://192.168.1.133:5001"
2323
},
2424
"AppSettings": {
2525
"FileProfilePollingWindowInSeconds": 20,
@@ -37,7 +37,7 @@
3737
]
3838
},
3939
"UseConnectionStringConfig": false,
40-
"SecurityService": "http://192.168.1.133:5001",
40+
"SecurityService": "https://192.168.1.133:5001",
4141
"TemporaryFileLocation": "/home/txnproc/bulkfiles/temporary",
4242
"FileProfiles": [
4343
{
820 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)