Browse Source

Fix the AddClaims() overload taking a JsonElement to use ToString() instead of GetString()

pull/1528/head
Kévin Chalet 4 years ago
parent
commit
173e2cf5f3
  1. 2
      src/OpenIddict.Abstractions/Primitives/OpenIddictExtensions.cs
  2. 5
      test/OpenIddict.Abstractions.Tests/Primitives/OpenIddictExtensionsTests.cs

2
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(

5
test/OpenIddict.Abstractions.Tests/Primitives/OpenIddictExtensionsTests.cs

@ -2127,7 +2127,7 @@ public class OpenIddictExtensionsTests
var identity = new ClaimsIdentity();
// Act
identity.AddClaims("type", JsonSerializer.Deserialize<JsonElement>(@"[""Fabrikam"",""Contoso""]"), "issuer");
identity.AddClaims("type", JsonSerializer.Deserialize<JsonElement>(@"[""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]

Loading…
Cancel
Save