From 173e2cf5f355bacb4a5cad7c094c10db9ae05c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Chalet?= Date: Tue, 11 Oct 2022 18:41:53 +0200 Subject: [PATCH] Fix the AddClaims() overload taking a JsonElement to use ToString() instead of GetString() --- .../Primitives/OpenIddictExtensions.cs | 2 +- .../Primitives/OpenIddictExtensionsTests.cs | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/OpenIddict.Abstractions/Primitives/OpenIddictExtensions.cs b/src/OpenIddict.Abstractions/Primitives/OpenIddictExtensions.cs index 73ac83d2..d5ebd167 100644 --- a/src/OpenIddict.Abstractions/Primitives/OpenIddictExtensions.cs +++ b/src/OpenIddict.Abstractions/Primitives/OpenIddictExtensions.cs @@ -1277,7 +1277,7 @@ public static class OpenIddictExtensions foreach (var element in value.EnumerateArray()) { - var item = element.GetString()!; + var item = element.ToString(); if (set.Add(item)) { identity.AddClaim(new Claim( diff --git a/test/OpenIddict.Abstractions.Tests/Primitives/OpenIddictExtensionsTests.cs b/test/OpenIddict.Abstractions.Tests/Primitives/OpenIddictExtensionsTests.cs index 11b8a721..71c50164 100644 --- a/test/OpenIddict.Abstractions.Tests/Primitives/OpenIddictExtensionsTests.cs +++ b/test/OpenIddict.Abstractions.Tests/Primitives/OpenIddictExtensionsTests.cs @@ -2127,7 +2127,7 @@ public class OpenIddictExtensionsTests var identity = new ClaimsIdentity(); // Act - identity.AddClaims("type", JsonSerializer.Deserialize(@"[""Fabrikam"",""Contoso""]"), "issuer"); + identity.AddClaims("type", JsonSerializer.Deserialize(@"[""Fabrikam"",""Contoso"",42]"), "issuer"); // Assert var claims = identity.FindAll("type").ToArray(); @@ -2137,6 +2137,9 @@ public class OpenIddictExtensionsTests Assert.Equal("Contoso", claims[1].Value); Assert.Equal(ClaimValueTypes.String, claims[1].ValueType); Assert.Equal("issuer", claims[1].Issuer); + Assert.Equal("42", claims[2].Value); + Assert.Equal(ClaimValueTypes.Integer32, claims[2].ValueType); + Assert.Equal("issuer", claims[2].Issuer); } [Fact]