From dddf7c7186964fa5fe40721455902eb04ff04dc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Chalet?= Date: Wed, 9 Jan 2019 15:03:41 +0100 Subject: [PATCH] Update the MongoDB stores to use BsonDocument.Parse() to ensure properties are correctly serialized --- src/OpenIddict.MongoDb/Stores/OpenIddictApplicationStore.cs | 3 ++- src/OpenIddict.MongoDb/Stores/OpenIddictAuthorizationStore.cs | 3 ++- src/OpenIddict.MongoDb/Stores/OpenIddictScopeStore.cs | 3 ++- src/OpenIddict.MongoDb/Stores/OpenIddictTokenStore.cs | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/OpenIddict.MongoDb/Stores/OpenIddictApplicationStore.cs b/src/OpenIddict.MongoDb/Stores/OpenIddictApplicationStore.cs index 289c97dc..4accb1fe 100644 --- a/src/OpenIddict.MongoDb/Stores/OpenIddictApplicationStore.cs +++ b/src/OpenIddict.MongoDb/Stores/OpenIddictApplicationStore.cs @@ -16,6 +16,7 @@ using Microsoft.Extensions.Options; using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Driver.Linq; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using OpenIddict.Abstractions; using OpenIddict.MongoDb.Models; @@ -757,7 +758,7 @@ namespace OpenIddict.MongoDb return Task.CompletedTask; } - application.Properties = new BsonDocument(properties.ToObject>()); + application.Properties = BsonDocument.Parse(properties.ToString(Formatting.None)); return Task.CompletedTask; } diff --git a/src/OpenIddict.MongoDb/Stores/OpenIddictAuthorizationStore.cs b/src/OpenIddict.MongoDb/Stores/OpenIddictAuthorizationStore.cs index e805119e..c76438d4 100644 --- a/src/OpenIddict.MongoDb/Stores/OpenIddictAuthorizationStore.cs +++ b/src/OpenIddict.MongoDb/Stores/OpenIddictAuthorizationStore.cs @@ -16,6 +16,7 @@ using Microsoft.Extensions.Options; using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Driver.Linq; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using OpenIddict.Abstractions; using OpenIddict.MongoDb.Models; @@ -754,7 +755,7 @@ namespace OpenIddict.MongoDb return Task.CompletedTask; } - authorization.Properties = new BsonDocument(properties.ToObject>()); + authorization.Properties = BsonDocument.Parse(properties.ToString(Formatting.None)); return Task.CompletedTask; } diff --git a/src/OpenIddict.MongoDb/Stores/OpenIddictScopeStore.cs b/src/OpenIddict.MongoDb/Stores/OpenIddictScopeStore.cs index d1bcc5b0..c5286161 100644 --- a/src/OpenIddict.MongoDb/Stores/OpenIddictScopeStore.cs +++ b/src/OpenIddict.MongoDb/Stores/OpenIddictScopeStore.cs @@ -16,6 +16,7 @@ using Microsoft.Extensions.Options; using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Driver.Linq; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using OpenIddict.Abstractions; using OpenIddict.MongoDb.Models; @@ -550,7 +551,7 @@ namespace OpenIddict.MongoDb return Task.CompletedTask; } - scope.Properties = new BsonDocument(properties.ToObject>()); + scope.Properties = BsonDocument.Parse(properties.ToString(Formatting.None)); return Task.CompletedTask; } diff --git a/src/OpenIddict.MongoDb/Stores/OpenIddictTokenStore.cs b/src/OpenIddict.MongoDb/Stores/OpenIddictTokenStore.cs index 224d312a..7b12511a 100644 --- a/src/OpenIddict.MongoDb/Stores/OpenIddictTokenStore.cs +++ b/src/OpenIddict.MongoDb/Stores/OpenIddictTokenStore.cs @@ -16,6 +16,7 @@ using Microsoft.Extensions.Options; using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Driver.Linq; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using OpenIddict.Abstractions; using OpenIddict.MongoDb.Models; @@ -860,7 +861,7 @@ namespace OpenIddict.MongoDb return Task.CompletedTask; } - token.Properties = new BsonDocument(properties.ToObject>()); + token.Properties = BsonDocument.Parse(properties.ToString(Formatting.None)); return Task.CompletedTask; }