diff --git a/SecurityService.BusinessLogic/SecurityService.BusinessLogic.csproj b/SecurityService.BusinessLogic/SecurityService.BusinessLogic.csproj
index 6c8f3d23..6b3cc2ce 100644
--- a/SecurityService.BusinessLogic/SecurityService.BusinessLogic.csproj
+++ b/SecurityService.BusinessLogic/SecurityService.BusinessLogic.csproj
@@ -6,14 +6,14 @@
-
+
-
+
diff --git a/SecurityService.Client/SecurityService.Client.csproj b/SecurityService.Client/SecurityService.Client.csproj
index 7447c44d..9259c32a 100644
--- a/SecurityService.Client/SecurityService.Client.csproj
+++ b/SecurityService.Client/SecurityService.Client.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/SecurityService.DataTransferObjects/Responses.cs b/SecurityService.DataTransferObjects/Responses.cs
index ea5d1dbc..4c94900d 100644
--- a/SecurityService.DataTransferObjects/Responses.cs
+++ b/SecurityService.DataTransferObjects/Responses.cs
@@ -1,5 +1,5 @@
-using Newtonsoft.Json;
-using System.Text.Json.Serialization;
+
+using System.Text.Json;
namespace SecurityService.DataTransferObjects;
@@ -100,21 +100,20 @@ public class TokenResponse
public Int64 ExpiresIn { get; private set; }
public DateTimeOffset Issued { get; private set; }
public String RefreshToken { get; private set; }
- public static TokenResponse Create(String token)
- {
- dynamic auth = JsonConvert.DeserializeObject(token);
+ public static TokenResponse Create(String token) {
+ using var doc = JsonDocument.Parse(token);
+ var root = doc.RootElement;
- Int64 expiresIn = auth["expires_in"].Value;
- String accessToken = auth["access_token"].Value;
+ long expiresIn = root.GetProperty("expires_in").GetInt64();
+ string accessToken = root.GetProperty("access_token").GetString();
DateTimeOffset issued = DateTimeOffset.Now;
- DateTimeOffset expires = DateTimeOffset.Now.AddSeconds(expiresIn);
+ DateTimeOffset expires = issued.AddSeconds(expiresIn);
- String refreshToken = null;
- //For client credentials, the refresh_token will not be present
- if (auth["refresh_token"] != null)
+ string refreshToken = null;
+ if (root.TryGetProperty("refresh_token", out var refreshElement))
{
- refreshToken = auth["refresh_token"].Value;
+ refreshToken = refreshElement.GetString();
}
return TokenResponse.Create(accessToken, refreshToken, expiresIn, issued, expires);
diff --git a/SecurityService.DataTransferObjects/SecurityService.DataTransferObjects.csproj b/SecurityService.DataTransferObjects/SecurityService.DataTransferObjects.csproj
index f0f94722..759e34c5 100644
--- a/SecurityService.DataTransferObjects/SecurityService.DataTransferObjects.csproj
+++ b/SecurityService.DataTransferObjects/SecurityService.DataTransferObjects.csproj
@@ -5,6 +5,6 @@
enable
-
+
diff --git a/SecurityService.IntegrationTesting.Helpers/SecurityService.IntegrationTesting.Helpers.csproj b/SecurityService.IntegrationTesting.Helpers/SecurityService.IntegrationTesting.Helpers.csproj
index 535f77b4..8c4bc8a8 100644
--- a/SecurityService.IntegrationTesting.Helpers/SecurityService.IntegrationTesting.Helpers.csproj
+++ b/SecurityService.IntegrationTesting.Helpers/SecurityService.IntegrationTesting.Helpers.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/SecurityService.IntegrationTests/ApiResource/ApiResourceSteps.cs b/SecurityService.IntegrationTests/ApiResource/ApiResourceSteps.cs
index e7a45200..b96938ec 100644
--- a/SecurityService.IntegrationTests/ApiResource/ApiResourceSteps.cs
+++ b/SecurityService.IntegrationTests/ApiResource/ApiResourceSteps.cs
@@ -12,7 +12,6 @@ namespace SecurityService.IntegrationTests.ApiResource
using Clients;
using IntegrationTesting.Helpers;
using IntergrationTests.Common;
- using Newtonsoft.Json;
using Reqnroll;
using Shouldly;
diff --git a/SecurityService.IntegrationTests/SecurityService.IntegrationTests.csproj b/SecurityService.IntegrationTests/SecurityService.IntegrationTests.csproj
index 0827d0a8..a28d4dab 100644
--- a/SecurityService.IntegrationTests/SecurityService.IntegrationTests.csproj
+++ b/SecurityService.IntegrationTests/SecurityService.IntegrationTests.csproj
@@ -24,7 +24,7 @@
-
+
diff --git a/SecurityService.IntegrationTests/Users/UsersSteps.cs b/SecurityService.IntegrationTests/Users/UsersSteps.cs
index 3a5bd5eb..f8a232bb 100644
--- a/SecurityService.IntegrationTests/Users/UsersSteps.cs
+++ b/SecurityService.IntegrationTests/Users/UsersSteps.cs
@@ -10,7 +10,6 @@
using Common;
using DataTransferObjects;
using IntegrationTesting.Helpers;
- using Newtonsoft.Json;
using Reqnroll;
using Shouldly;
diff --git a/SecurityService.OpenIdConnect.IntegrationTests/Common/DockerHelper.cs b/SecurityService.OpenIdConnect.IntegrationTests/Common/DockerHelper.cs
index 34ff1742..ebd68344 100644
--- a/SecurityService.OpenIdConnect.IntegrationTests/Common/DockerHelper.cs
+++ b/SecurityService.OpenIdConnect.IntegrationTests/Common/DockerHelper.cs
@@ -4,11 +4,11 @@
using DotNet.Testcontainers.Networks;
using Shared.IntegrationTesting.TestContainers;
using System.Runtime.InteropServices;
+using System.Text.Json;
namespace SecurityService.IntergrationTests.Common
{
using Client;
- using Newtonsoft.Json;
using Shared.HealthChecks;
using Shared.IntegrationTesting;
using Shared.Logger;
@@ -57,7 +57,7 @@ public class DockerHelper : Shared.IntegrationTesting.TestContainers.DockerHelpe
/// The logger.
public DockerHelper() : base()
{
-
+ StringSerialiser.Initialise(new SystemTextJsonSerializer(SystemTextJsonSerializer.GetDefaultJsonSerializerOptions()));
}
#endregion
@@ -119,7 +119,7 @@ await Retry.For(async () => {
await this.HealthCheckClient.PerformHealthCheck("https", "127.0.0.1", this.SecurityServiceTestUIPort, CancellationToken.None);
healthCheck.IsSuccess.ShouldBeTrue($"Health check for Test UI failed with [{healthCheck.Message}]");
- HealthCheckResult result = JsonConvert.DeserializeObject(healthCheck.Data);
+ HealthCheckResult result = StringSerialiser.Deserialise(healthCheck.Data);
this.Trace($"health check complete for Test UI result is [{healthCheck}]");
diff --git a/SecurityService.OpenIdConnect.IntegrationTests/ForgotPassword/ForgotPasswordSteps.cs b/SecurityService.OpenIdConnect.IntegrationTests/ForgotPassword/ForgotPasswordSteps.cs
index bfcea9e3..7de23f0f 100644
--- a/SecurityService.OpenIdConnect.IntegrationTests/ForgotPassword/ForgotPasswordSteps.cs
+++ b/SecurityService.OpenIdConnect.IntegrationTests/ForgotPassword/ForgotPasswordSteps.cs
@@ -3,6 +3,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Shared.Serialisation;
namespace SecurityService.OpenIdConnect.IntegrationTests.ForgotPassword
{
@@ -11,7 +12,6 @@ namespace SecurityService.OpenIdConnect.IntegrationTests.ForgotPassword
using System.Threading;
using HtmlAgilityPack;
using IntergrationTests.Common;
- using Newtonsoft.Json;
using OpenQA.Selenium;
using Reqnroll;
using SecurityService.IntegrationTests.UserLogin;
@@ -87,7 +87,7 @@ public async Task ThenIGetAnEmailWithAForgotPasswordLink() {
MessageId = Guid.Empty,
Body = String.Empty
};
- var x = JsonConvert.DeserializeAnonymousType(await response.Content.ReadAsStringAsync(CancellationToken.None), emailMessage);
+ var x = StringSerialiser.DeserialiseAnonymousType(await response.Content.ReadAsStringAsync(CancellationToken.None), emailMessage);
var doc = new HtmlDocument();
doc.LoadHtml(x.Body);
diff --git a/SecurityService.OpenIdConnect.IntegrationTests/SecurityService.OpenIdConnect.IntegrationTests.csproj b/SecurityService.OpenIdConnect.IntegrationTests/SecurityService.OpenIdConnect.IntegrationTests.csproj
index bbf1025d..69277ac7 100644
--- a/SecurityService.OpenIdConnect.IntegrationTests/SecurityService.OpenIdConnect.IntegrationTests.csproj
+++ b/SecurityService.OpenIdConnect.IntegrationTests/SecurityService.OpenIdConnect.IntegrationTests.csproj
@@ -24,7 +24,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/SecurityService.OpenIdConnect.IntegrationTests/UserLogin/UserLoginSteps.cs b/SecurityService.OpenIdConnect.IntegrationTests/UserLogin/UserLoginSteps.cs
index 3f42726d..c5a11682 100644
--- a/SecurityService.OpenIdConnect.IntegrationTests/UserLogin/UserLoginSteps.cs
+++ b/SecurityService.OpenIdConnect.IntegrationTests/UserLogin/UserLoginSteps.cs
@@ -1,4 +1,5 @@
using System;
+using Shared.Serialisation;
namespace SecurityService.IntegrationTests.UserLogin
{
@@ -12,7 +13,6 @@ namespace SecurityService.IntegrationTests.UserLogin
using System.Threading.Tasks;
using HtmlAgilityPack;
using IntergrationTests.Common;
- using Newtonsoft.Json;
using OpenQA.Selenium;
using Reqnroll;
using Shared.IntegrationTesting;
@@ -112,7 +112,7 @@ public async Task ThenIGetAnEmailWithAConfirmEmailAddressLink()
MessageId = Guid.Empty,
Body = String.Empty
};
- var x = JsonConvert.DeserializeAnonymousType(await response.Content.ReadAsStringAsync(CancellationToken.None), emailMessage);
+ var x = StringSerialiser.DeserialiseAnonymousType(await response.Content.ReadAsStringAsync(CancellationToken.None), emailMessage);
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(x.Body);
@@ -140,7 +140,7 @@ public async Task ThenIGetAWelcomeEmailWithMyLoginDetails()
MessageId = Guid.Empty,
Body = String.Empty
};
- var x = JsonConvert.DeserializeAnonymousType(await response.Content.ReadAsStringAsync(CancellationToken.None), emailMessage);
+ var x = StringSerialiser.DeserialiseAnonymousType(await response.Content.ReadAsStringAsync(CancellationToken.None), emailMessage);
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(x.Body);
diff --git a/SecurityService/SecurityService.csproj b/SecurityService/SecurityService.csproj
index 3d039bda..86993fe6 100644
--- a/SecurityService/SecurityService.csproj
+++ b/SecurityService/SecurityService.csproj
@@ -19,7 +19,6 @@
-
@@ -33,8 +32,8 @@
-
-
+
+
diff --git a/SecurityServiceTestUI/SecurityServiceTestUI.csproj b/SecurityServiceTestUI/SecurityServiceTestUI.csproj
index 2ed8e586..db57c900 100644
--- a/SecurityServiceTestUI/SecurityServiceTestUI.csproj
+++ b/SecurityServiceTestUI/SecurityServiceTestUI.csproj
@@ -11,7 +11,7 @@
-
+