Skip to content

Commit af4e526

Browse files
Merge pull request #148 from TransactionProcessing/task/httpssecurityservice
Use HTTPS Security Service
2 parents 8750703 + 453738d commit af4e526

File tree

6 files changed

+28
-9
lines changed

6 files changed

+28
-9
lines changed

TransactionProcessor.IntegrationTests/Common/DockerHelper.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,10 +307,21 @@ await Retry.For(async () =>
307307

308308
// Setup the base address resolvers
309309
String EstateManagementBaseAddressResolver(String api) => $"http://127.0.0.1:{this.EstateManagementApiPort}";
310-
String SecurityServiceBaseAddressResolver(String api) => $"http://127.0.0.1:{this.SecurityServicePort}";
310+
String SecurityServiceBaseAddressResolver(String api) => $"https://127.0.0.1:{this.SecurityServicePort}";
311311
String TransactionProcessorBaseAddressResolver(String api) => $"http://127.0.0.1:{this.TransactionProcessorPort}";
312312

313-
HttpClient httpClient = new HttpClient();
313+
HttpClientHandler clientHandler = new HttpClientHandler
314+
{
315+
ServerCertificateCustomValidationCallback = (message,
316+
certificate2,
317+
arg3,
318+
arg4) =>
319+
{
320+
return true;
321+
}
322+
323+
};
324+
HttpClient httpClient = new HttpClient(clientHandler);
314325
this.EstateClient = new EstateClient(EstateManagementBaseAddressResolver, httpClient);
315326
this.SecurityServiceClient = new SecurityServiceClient(SecurityServiceBaseAddressResolver, httpClient);
316327
this.TransactionProcessorClient = new TransactionProcessorClient(TransactionProcessorBaseAddressResolver, httpClient);

TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<ItemGroup>
1010
<PackageReference Include="ClientProxyBase" Version="1.0.5" />
11-
<PackageReference Include="Ductus.FluentDocker" Version="2.7.3" />
11+
<PackageReference Include="Ductus.FluentDocker" Version="2.10.7" />
1212
<PackageReference Include="EstateManagement.Client" Version="1.0.10.2" />
1313
<PackageReference Include="EstateReporting.Database" Version="1.0.13.1" />
1414
<PackageReference Include="EventStore.Client.Grpc.PersistentSubscriptions" Version="20.10.0" />
@@ -17,7 +17,7 @@
1717
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.2" />
1818
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
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" Version="3.5.14" />
2323
<PackageReference Include="SpecFlow.Tools.MsBuild.Generation" Version="3.5.14" />

TransactionProcessor/Dockerfile

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

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

TransactionProcessor/Startup.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -331,13 +331,16 @@ private void ConfigureMiddlewareServices(IServiceCollection services)
331331
})
332332
.AddJwtBearer(options =>
333333
{
334-
//options.SaveToken = true;
334+
options.BackchannelHttpHandler = new HttpClientHandler
335+
{
336+
ServerCertificateCustomValidationCallback =
337+
(message, certificate, chain, sslPolicyErrors) => true
338+
};
335339
options.Authority = ConfigurationReader.GetValue("SecurityConfiguration", "Authority");
336340
options.Audience = ConfigurationReader.GetValue("SecurityConfiguration", "ApiName");
337-
options.RequireHttpsMetadata = false;
341+
338342
options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
339343
{
340-
ValidateIssuer = true,
341344
ValidateAudience = false,
342345
ValidAudience = ConfigurationReader.GetValue("SecurityConfiguration", "ApiName"),
343346
ValidIssuer = ConfigurationReader.GetValue("SecurityConfiguration", "Authority"),

TransactionProcessor/appsettings.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"HandlerEventTypesToSilentlyHandle": {
2525
},
2626
"UseConnectionStringConfig": false,
27-
"SecurityService": "http://192.168.1.133:5001",
27+
"SecurityService": "https://192.168.1.133:5001",
2828
"EstateManagementApi": "http://192.168.1.133:5000",
2929
"MessagingServiceApi": "http://192.168.1.133:5006",
3030
"VoucherManagementApi": "http://192.168.1.133:5007",
@@ -41,7 +41,7 @@
4141
},
4242
"SecurityConfiguration": {
4343
"ApiName": "transactionProcessor",
44-
"Authority": "http://192.168.1.133:5001"
44+
"Authority": "https://192.168.1.133:5001"
4545
},
4646
"AllowedHosts": "*",
4747
"OperatorConfiguration": {
820 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)