-
Notifications
You must be signed in to change notification settings - Fork 403
Expand file tree
/
Copy pathMsalJsonSerializerContext.cs
More file actions
71 lines (68 loc) · 3.21 KB
/
MsalJsonSerializerContext.cs
File metadata and controls
71 lines (68 loc) · 3.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.Identity.Client.Cache;
using Microsoft.Identity.Client.Instance.Discovery;
using Microsoft.Identity.Client.Instance.Oidc;
using Microsoft.Identity.Client.Instance.Validation;
using Microsoft.Identity.Client.Internal;
using Microsoft.Identity.Client.Kerberos;
using Microsoft.Identity.Client.ManagedIdentity;
using Microsoft.Identity.Client.ManagedIdentity.V2;
using Microsoft.Identity.Client.OAuth2;
using Microsoft.Identity.Client.Region;
using Microsoft.Identity.Client.WsTrust;
namespace Microsoft.Identity.Client.Platforms.net
{
/// <summary>
/// This class specifies metadata for System.Text.Json source generation.
/// See <see href="https://learn.microsoft.com/dotnet/standard/serialization/system-text-json/source-generation-modes?pivots=dotnet-6-0">Source-generation modes in System.Text.Json</see>.
/// and <see href="https://learn.microsoft.com/dotnet/standard/serialization/system-text-json/source-generation?pivots=dotnet-6-0">How to use source generation in System.Text.Json</see> for official docs.
/// </summary>
[JsonSerializable(typeof(InstanceDiscoveryResponse))]
[JsonSerializable(typeof(LocalImdsErrorResponse))]
[JsonSerializable(typeof(AdalResultWrapper))]
[JsonSerializable(typeof(List<KeyValuePair<string, IEnumerable<string>>>))]
[JsonSerializable(typeof(ClientInfo))]
[JsonSerializable(typeof(OAuth2ResponseBase))]
[JsonSerializable(typeof(MsalTokenResponse))]
[JsonSerializable(typeof(UserRealmDiscoveryResponse))]
[JsonSerializable(typeof(DeviceCodeResponse))]
[JsonSerializable(typeof(AdfsWebFingerResponse))]
[JsonSerializable(typeof(DeviceAuthHeader))]
[JsonSerializable(typeof(DeviceAuthPayload))]
[JsonSerializable(typeof(ManagedIdentityResponse))]
[JsonSerializable(typeof(ManagedIdentityErrorResponse))]
[JsonSerializable(typeof(OidcMetadata))]
[JsonSerializable(typeof(CsrMetadata))]
[JsonSerializable(typeof(CuidInfo))]
[JsonSerializable(typeof(CertificateRequestBody))]
[JsonSerializable(typeof(CertificateRequestResponse))]
[JsonSerializable(typeof(ComputeMetadataResponse))]
[JsonSerializable(typeof(ComputeSecurityProfile))]
[JsonSerializable(typeof(Dictionary<string, object>))]
[JsonSourceGenerationOptions]
internal partial class MsalJsonSerializerContext : JsonSerializerContext
{
private static MsalJsonSerializerContext s_customContext;
public static MsalJsonSerializerContext Custom
{
get
{
return s_customContext ??=
new MsalJsonSerializerContext(new JsonSerializerOptions
{
NumberHandling = JsonNumberHandling.AllowReadingFromString,
AllowTrailingCommas = true,
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
Converters =
{
new JsonStringConverter(),
}
});
}
}
}
}