diff --git a/Assets/NuGet.config b/Assets/NuGet.config
new file mode 100644
index 0000000..95bf5cd
--- /dev/null
+++ b/Assets/NuGet.config
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/NuGet.config.meta b/Assets/NuGet.config.meta
new file mode 100644
index 0000000..0a8eaf8
--- /dev/null
+++ b/Assets/NuGet.config.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: baa44a579bb40b3d68601604de06ff80
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages.meta b/Assets/Packages.meta
new file mode 100644
index 0000000..96e9543
--- /dev/null
+++ b/Assets/Packages.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b4bbafc7fd2510302b2e16dc0775ae87
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0.meta b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0.meta
new file mode 100644
index 0000000..4528a38
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5cb9361dc9cbdf8d385af4a1d2024303
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/.signature.p7s b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/.signature.p7s
new file mode 100644
index 0000000..faf6a6d
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/.signature.p7s differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/Microsoft.IdentityModel.Abstractions.6.22.0.nupkg b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/Microsoft.IdentityModel.Abstractions.6.22.0.nupkg
new file mode 100644
index 0000000..5bf71df
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/Microsoft.IdentityModel.Abstractions.6.22.0.nupkg differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/Microsoft.IdentityModel.Abstractions.6.22.0.nupkg.meta b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/Microsoft.IdentityModel.Abstractions.6.22.0.nupkg.meta
new file mode 100644
index 0000000..2648e79
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/Microsoft.IdentityModel.Abstractions.6.22.0.nupkg.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3c614beb3d8062f3b8502df2b5449e20
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib.meta b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib.meta
new file mode 100644
index 0000000..9b5d0a8
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d58244df5327868c687be6faecfdace3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0.meta b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0.meta
new file mode 100644
index 0000000..373ca99
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a8e1012e72122696a8f7c63b6c2f03bd
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll
new file mode 100644
index 0000000..8da414b
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll.meta b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll.meta
new file mode 100644
index 0000000..e170300
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 46346b9bc6625a1cdb387e11585ed1d4
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml
new file mode 100644
index 0000000..f1e5eee
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml
@@ -0,0 +1,297 @@
+
+
+
+ Microsoft.IdentityModel.Abstractions
+
+
+
+
+ Defines Event Log Levels.
+
+
+
+
+ No level filtering is done on this log level. Log messages of all levels will be logged.
+
+
+
+
+ Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires
+ immediate attention.
+
+
+
+
+ Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a
+ failure in the current activity, not an application-wide failure.
+
+
+
+
+ Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the
+ application execution to stop.
+
+
+
+
+ Logs that track the general flow of the application. These logs should have long-term value.
+
+
+
+
+ Logs that are used for interactive investigation during development. These logs should primarily contain
+ information useful for debugging and have no long-term value.
+
+
+
+
+ Interface that needs to be implemented by classes providing logging in Microsoft identity libraries.
+
+
+
+
+ Checks to see if logging is enabled at given .
+
+ Log level of a message.
+
+
+
+ Writes a log entry.
+
+ Defines a structured message to be logged at the provided .
+
+
+
+ Interface for Telemetry tracking.
+
+
+
+
+ Gets or sets the application or client ID that telemetry is being sent for.
+
+
+
+
+ Perform any necessary bootstrapping for the telemetry client.
+
+
+ The expectation is that this should only be called once for the lifetime of the object however the
+ implementation should be idempotent.
+
+
+
+
+ Checks to see if telemetry is enabled all up.
+
+
+ Returns if telemetry should be sent; otherwise.
+
+
+ This check should be used to gate any resource intensive operations to generate telemetry as well.
+
+
+
+
+ Checks to see if telemetry is enabled for the named event.
+
+ Name of the event to check.
+
+ Returns if telemetry should be sent for ;
+ otherwise.
+
+
+ This check should be used to gate any resource intensive operations to generate telemetry as well.
+
+
+
+
+ Tracks an instance of a named event.
+
+ Details of the event to track.
+
+
+
+ Tracks an instance of a named event.
+
+ Name of the event to track. Should be unique per scenario.
+ Key value pair of strings to long with the event.
+ Key value pair of longs to long with the event.
+ Key value pair of bools to long with the event.
+ Key value pair of DateTimes to long with the event.
+ Key value pair of doubles to long with the event.
+ Key value pair of Guids to long with the event.
+
+
+
+ Defines the structure of a log entry.
+
+
+
+
+ Defines the .
+
+
+
+
+ Message to be logged.
+
+
+
+
+ A unique identifier for a request that can help with diagnostics across components.
+
+
+ Also referred to as ActivityId in Microsoft.IdentityModel.Tokens.CallContext.
+
+
+
+
+ A minimalistic implementation that is disabled by default and doesn't log.
+
+
+
+
+ Default instance of .
+
+
+
+
+
+
+
+
+
+
+ The default implementation of the interface which swallows all telemetry signals.
+
+
+
+
+
+
+
+ Singleton instance of .
+
+
+
+
+ Initializes an instance of .
+
+
+ Private constructor to prevent the default constructor being exposed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Common class containing observability constants to be used as well known metric keys.
+
+
+
+
+ String used for the name of the property indicating if the call was successful.
+
+
+
+
+ String used for the name of the property indicating the call in Duration (ms).
+
+
+
+
+ String used for the name of the property indicating the call's Activity Id/Correlation Id.
+
+
+
+
+ String used for the name of the property indicating the caller's ClientId.
+
+
+
+
+ Details of the telemetry event.
+
+
+ This implementation is not meant to be thread-safe. This implementation would either need to be overridden or
+ usage should not be concurrently operated on.
+
+
+
+
+ The underlying properties making up the .
+
+
+
+
+ Name of the telemetry event, should be unique between events.
+
+
+
+
+ Properties which describe the event.
+
+
+
+
+ Sets a property on the event details.
+
+ Property key.
+ Property value.
+ 'key' is null.
+
+
+
+ Sets a property on the event details.
+
+ Property key.
+ Property value.
+ 'key' is null.
+
+
+
+ Sets a property on the event details.
+
+ Property key.
+ Property value.
+ 'key' is null.
+
+
+
+ Sets a property on the event details.
+
+ Property key.
+ Property value.
+ 'key' is null.
+
+
+
+ Sets a property on the event details.
+
+ Property key.
+ Property value.
+ 'key' is null.
+
+
+
+ Sets a property on the event details.
+
+ Property key.
+ Property value.
+ 'key' is null.
+
+
+
diff --git a/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml.meta b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml.meta
new file mode 100644
index 0000000..9ddabf9
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Abstractions.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Abstractions.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1222bb64cdaf5cea29e721388f291812
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0.meta b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0.meta
new file mode 100644
index 0000000..b589710
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3add8a13e8f11ed8db28a9989c6ef6a7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/.signature.p7s b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/.signature.p7s
new file mode 100644
index 0000000..2e8c010
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/.signature.p7s differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/Microsoft.IdentityModel.JsonWebTokens.6.22.0.nupkg b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/Microsoft.IdentityModel.JsonWebTokens.6.22.0.nupkg
new file mode 100644
index 0000000..221e51c
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/Microsoft.IdentityModel.JsonWebTokens.6.22.0.nupkg differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/Microsoft.IdentityModel.JsonWebTokens.6.22.0.nupkg.meta b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/Microsoft.IdentityModel.JsonWebTokens.6.22.0.nupkg.meta
new file mode 100644
index 0000000..bc7ad3e
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/Microsoft.IdentityModel.JsonWebTokens.6.22.0.nupkg.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 321b6b0d40aea7025abadcd341a1de70
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib.meta b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib.meta
new file mode 100644
index 0000000..a2867f9
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2e96d5d08aa15c887a8e115d2650d40d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0.meta b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0.meta
new file mode 100644
index 0000000..538198a
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0f479b635d8390693aea70cc494c9d47
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll
new file mode 100644
index 0000000..e02b074
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll.meta b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll.meta
new file mode 100644
index 0000000..1f47b7d
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: b002a39896e6a2659b6afa7ac7b28ed1
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml
new file mode 100644
index 0000000..bb767e4
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml
@@ -0,0 +1,1099 @@
+
+
+
+ Microsoft.IdentityModel.JsonWebTokens
+
+
+
+
+ Constants for Json Web tokens.
+
+
+
+
+ A URI that represents the JSON XML data type.
+
+ When mapping json to .Net Claim(s), if the value was not a string (or an enumeration of strings), the ClaimValue will serialized using the current JSON serializer, a property will be added with the .Net type and the ClaimTypeValue will be set to 'JsonClaimValueType'.
+
+
+
+ A URI that represents the JSON array XML data type.
+
+ When mapping json to .Net Claim(s), if the value was not a string (or an enumeration of strings), the ClaimValue will serialized using the current JSON serializer, a property will be added with the .Net type and the ClaimTypeValue will be set to 'JsonClaimValueType'.
+
+
+
+ A URI that represents the JSON null data type
+
+ When mapping json to .Net Claim(s), we use empty string to represent the claim value and set the ClaimValueType to JsonNull
+
+
+
+ A designed for representing a JSON Web Token (JWT).
+
+
+
+
+ Initializes a new instance of from a string in JWS or JWE Compact serialized format.
+
+ A JSON Web Token that has been serialized in JWS or JWE Compact serialized format.
+ 'jwtEncodedString' is null or empty.
+ 'jwtEncodedString' is not in JWS or JWE Compact serialization format.
+
+ The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in
+
+
+
+
+ Initializes a new instance of the class where the header contains the crypto algorithms applied to the encoded header and payload.
+
+ A string containing JSON which represents the cryptographic operations applied to the JWT and optionally any additional properties of the JWT.
+ A string containing JSON which represents the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }.
+ 'header' is null.
+ 'payload' is null.
+
+
+
+ Gets the 'value' of the 'actort' claim { actort, 'value' }.
+
+ If the 'actort' claim is not found, an empty string is returned.
+
+
+
+ Gets the 'value' of the 'alg' claim { alg, 'value' }.
+
+ If the 'alg' claim is not found, an empty string is returned.
+
+
+
+ Gets the list of 'aud' claim { aud, 'value' }.
+
+ If the 'aud' claim is not found, enumeration will be empty.
+
+
+
+ Gets the AuthenticationTag from the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed into the constructor.
+
+
+
+ Gets the Ciphertext from the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed into the constructor.
+
+
+
+ Gets a for each JSON { name, value }.
+
+
+
+
+ Gets the 'value' of the 'cty' claim { cty, 'value' }.
+
+ If the 'cty' claim is not found, an empty string is returned.
+
+
+
+ Gets the 'value' of the 'enc' claim { enc, 'value' }.
+
+ If the 'enc' value is not found, an empty string is returned.
+
+
+
+ Gets the EncryptedKey from the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed into the constructor.
+
+
+
+ Represents the cryptographic operations applied to the JWT and optionally any additional properties of the JWT.
+
+
+
+
+ Gets the 'value' of the 'jti' claim { jti, ''value' }.
+
+ If the 'jti' claim is not found, an empty string is returned.
+
+
+
+ Gets the InitializationVector from the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed into the constructor.
+
+
+
+ Gets the associated with this instance.
+
+
+
+
+ Gets the 'value' of the 'iat' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+
+ If the 'iat' claim is not found, then is returned.
+
+
+
+ Gets the 'value' of the 'iss' claim { iss, 'value' }.
+
+ If the 'iss' claim is not found, an empty string is returned.
+
+
+
+ Gets the 'value' of the 'kid' claim { kid, 'value' }.
+
+ If the 'kid' claim is not found, an empty string is returned.
+
+
+
+ Represents the JSON payload.
+
+
+
+
+ Gets the EncodedHeader from the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed into the constructor.
+
+
+
+ Gets the EncodedPayload from the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed into the constructor.
+
+
+
+ Gets the EncodedSignature from the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed into the constructor.
+
+
+
+ Gets the original raw data of this instance when it was created.
+
+
+
+
+ Not implemented.
+
+
+
+
+ Not implemented.
+
+
+
+
+ Gets the 'value' of the 'sub' claim { sub, 'value' }.
+
+ If the 'sub' claim is not found, an empty string is returned.
+
+
+
+ Gets the 'value' of the 'typ' claim { typ, 'value' }.
+
+ If the 'typ' claim is not found, an empty string is returned.
+
+
+
+ Gets the 'value' of the 'nbf' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+
+ If the 'nbf' claim is not found, then is returned.
+
+
+
+ Gets the 'value' of the 'exp' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+
+ If the 'exp' claim is not found, then is returned.
+
+
+
+ Gets the 'value' of the 'x5t' claim { x5t, 'value' }.
+
+ If the 'x5t' claim is not found, an empty string is returned.
+
+
+
+ Gets the 'value' of the 'zip' claim { zip, 'value' }.
+
+ If the 'zip' claim is not found, an empty string is returned.
+
+
+
+ Decodes the string into the header, payload and signature.
+
+ the tokenized string.
+ the original token.
+
+
+
+ Decodes the payload and signature from the JWE parts.
+
+ Parts of the JWE including the header.
+
+ Assumes Header has already been set.
+ According to the JWE documentation (https://datatracker.ietf.org/doc/html/rfc7516#section-2), it is possible for the EncryptedKey, InitializationVector, and AuthenticationTag to be empty strings.
+
+
+
+
+ Decodes the payload and signature from the JWS parts.
+
+ Parts of the JWS including the header.
+ Assumes Header has already been set.
+
+
+
+ Gets a representing the { key, 'value' } pair corresponding to the provided .
+
+ If the key has no corresponding value, this method will throw.
+
+
+
+ Gets the 'value' corresponding to the provided key from the JWT payload { key, 'value' }.
+
+ If the key has no corresponding value, this method will throw.
+
+
+
+ Tries to get the representing the { key, 'value' } pair corresponding to the provided .
+
+ If the key has no corresponding value, returns false. Otherwise returns true.
+
+
+
+ Tries to get the 'value' corresponding to the provided key from the JWT payload { key, 'value' }.
+
+ If the key has no corresponding value, returns false. Otherwise returns true.
+
+
+
+ Gets the 'value' corresponding to the provided key from the JWT header { key, 'value' }.
+
+ If the key has no corresponding value, this method will throw.
+
+
+
+ Tries to get the value corresponding to the provided key from the JWT header { key, 'value' }.
+
+ If the key has no corresponding value, returns false. Otherwise returns true.
+
+
+
+ A designed for creating and validating Json Web Tokens.
+ See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515.
+
+
+
+
+ Gets the Base64Url encoded string representation of the following JWT header:
+ { , }.
+
+ The Base64Url encoded string representation of the unsigned JWT header.
+
+
+
+ Gets the type of the .
+
+ The type of
+
+
+
+ Determines if the string is a well formed Json Web Token (JWT).
+ See: https://datatracker.ietf.org/doc/html/rfc7519
+
+ String that should represent a valid JWT.
+ Uses matching:
+ JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$"
+ JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$"
+ JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$"
+
+
+ 'false' if the token is null or whitespace.
+ 'false' if token.Length is greater than .
+ 'true' if the token is in JSON compact serialization format.
+
+
+
+
+ Returns a value that indicates if this handler can validate a .
+
+ 'true', indicating this instance can validate a .
+
+
+
+ Creates an unsigned JWS (Json Web Signature).
+
+ A string containing JSON which represents the JWT token payload.
+ if is null.
+ A JWS in Compact Serialization Format.
+
+
+
+ Creates an unsigned JWS (Json Web Signature).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the dictionary containing any custom header claims that need to be added to the JWT token header.
+ if is null.
+ if is null.
+ A JWS in Compact Serialization Format.
+
+
+
+ Creates a JWS (Json Web Signature).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the security key and algorithm that will be used to sign the JWS.
+ if is null.
+ if is null.
+ A JWS in Compact Serialization Format.
+
+
+
+ Creates a JWS (Json Web Signature).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the security key and algorithm that will be used to sign the JWS.
+ Defines the dictionary containing any custom header claims that need to be added to the JWT token header.
+ if is null.
+ if is null.
+ if is null.
+ if ,
+ , , and/or
+ are present inside of .
+ A JWS in Compact Serialization Format.
+
+
+
+ Creates a JWS(Json Web Signature).
+
+ A that contains details of contents of the token.
+ A JWS in Compact Serialization Format.
+
+
+
+ Creates a JWE (Json Web Encryption).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the security key and algorithm that will be used to encrypt the JWT.
+ A JWE in compact serialization format.
+
+
+
+ Creates a JWE (Json Web Encryption).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the security key and algorithm that will be used to encrypt the JWT.
+ Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.
+ if is null.
+ if is null.
+ if is null.
+ if ,
+ , , and/or
+ are present inside of .
+ A JWS in Compact Serialization Format.
+
+
+
+ Creates a JWE (Json Web Encryption).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the security key and algorithm that will be used to sign the JWT.
+ Defines the security key and algorithm that will be used to encrypt the JWT.
+ if is null.
+ if is null.
+ if is null.
+ A JWE in compact serialization format.
+
+
+
+ Creates a JWE (Json Web Encryption).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the security key and algorithm that will be used to sign the JWT.
+ Defines the security key and algorithm that will be used to encrypt the JWT.
+ Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.
+ if is null.
+ if is null.
+ if is null.
+ if is null.
+ if ,
+ , , and/or
+ are present inside of .
+ A JWE in compact serialization format.
+
+
+
+ Creates a JWE (Json Web Encryption).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the security key and algorithm that will be used to encrypt the JWT.
+ Defines the compression algorithm that will be used to compress the JWT token payload.
+ A JWE in compact serialization format.
+
+
+
+ Creates a JWE (Json Web Encryption).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the security key and algorithm that will be used to sign the JWT.
+ Defines the security key and algorithm that will be used to encrypt the JWT.
+ Defines the compression algorithm that will be used to compress the JWT token payload.
+ if is null.
+ if is null.
+ if is null.
+ if is null.
+ A JWE in compact serialization format.
+
+
+
+ Creates a JWE (Json Web Encryption).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the security key and algorithm that will be used to sign the JWT.
+ Defines the security key and algorithm that will be used to encrypt the JWT.
+ Defines the compression algorithm that will be used to compress the JWT token payload.
+ Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.
+ Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header.
+ if is null.
+ if is null.
+ if is null.
+ if is null.
+ if is null.
+ if ,
+ , , and/or
+ are present inside of .
+ A JWE in compact serialization format.
+
+
+
+ Creates a JWE (Json Web Encryption).
+
+ A string containing JSON which represents the JWT token payload.
+ Defines the security key and algorithm that will be used to sign the JWT.
+ Defines the security key and algorithm that will be used to encrypt the JWT.
+ Defines the compression algorithm that will be used to compress the JWT token payload.
+ Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.
+ if is null.
+ if is null.
+ if is null.
+ if is null.
+ if is null.
+ if ,
+ , , and/or
+ are present inside of .
+ A JWE in compact serialization format.
+
+
+
+ Compress a JWT token string.
+
+
+
+ if is null.
+ if is null.
+ if the compression algorithm is not supported.
+ Compressed JWT token bytes.
+
+
+
+ Creates a from a .
+
+ The to use as a source.
+ Contains parameters for validating the token.
+ A containing the .
+
+
+
+ Decrypts a JWE and returns the clear text
+
+ the JWE that contains the cypher text.
+ contains crypto material.
+ the decoded / cleartext contents of the JWE.
+ if is null.
+ if is null.
+ if ' .Enc' is null or empty.
+ if decompression failed.
+ if ' .Kid' is not null AND decryption fails.
+ if the JWE was not able to be decrypted.
+
+
+
+ Encrypts a JWS.
+
+ A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.
+ Defines the security key and algorithm that will be used to encrypt the .
+ if is null or empty.
+ if is null.
+ if both and . are null.
+ if the CryptoProviderFactory being used does not support the (algorithm), pair.
+ if unable to create a token encryption provider for the (algorithm), pair.
+ if encryption fails using the (algorithm), pair.
+ if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption).
+
+
+
+ Encrypts a JWS.
+
+ A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.
+ Defines the security key and algorithm that will be used to encrypt the .
+ Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.
+ if is null or empty.
+ if is null.
+ if is null.
+ if both and . are null.
+ if the CryptoProviderFactory being used does not support the (algorithm), pair.
+ if unable to create a token encryption provider for the (algorithm), pair.
+ if encryption fails using the (algorithm), pair.
+ if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption).
+
+
+
+ Encrypts a JWS.
+
+ A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.
+ Defines the security key and algorithm that will be used to encrypt the .
+ Defines the compression algorithm that will be used to compress the 'innerJwt'.
+ if is null or empty.
+ if is null.
+ if is null or empty.
+ if both and . are null.
+ if the CryptoProviderFactory being used does not support the (algorithm), pair.
+ if unable to create a token encryption provider for the (algorithm), pair.
+ if compression using fails.
+ if encryption fails using the (algorithm), pair.
+ if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption).
+
+
+
+ Encrypts a JWS.
+
+ A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.
+ Defines the security key and algorithm that will be used to encrypt the .
+ Defines the compression algorithm that will be used to compress the
+ Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.
+ if is null or empty.
+ if is null.
+ if is null or empty.
+ if is null or empty.
+ if both and . are null.
+ if the CryptoProviderFactory being used does not support the (algorithm), pair.
+ if unable to create a token encryption provider for the (algorithm), pair.
+ if compression using 'algorithm' fails.
+ if encryption fails using the (algorithm), pair.
+ if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption).
+
+
+
+ Returns a to use when decrypting a JWE.
+
+ The the token that is being decrypted.
+ The that is being decrypted.
+ A required for validation.
+ Returns a to use for signature validation.
+ If key fails to resolve, then null is returned
+
+
+
+ Converts a string into an instance of .
+
+ A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.
+ A
+ is null or empty.
+ 'token.Length' is greater than .
+ If the is in JWE Compact Serialization format, only the protected header will be deserialized.
+ This method is unable to decrypt the payload. Use to obtain the payload.
+
+
+
+ Converts a string into an instance of .
+
+ A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.
+ A
+ is null or empty.
+ 'token.Length' is greater than .
+
+
+
+ Validates a JWS or a JWE.
+
+ A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.
+ A required for validation.
+ A
+
+
+
+
+
+
+ Private method for token validation, responsible for:
+ (1) Obtaining a configuration from the .
+ (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it.
+
+ The JWS string, only to be supplied if the token is a JWS.
+ The outer token of the JWE, only to be supplied if the token is a JWE.
+ The inner decrypted token of the JWE, only to be supplied if the token is a JWE.
+ The to be used for validation.
+
+
+
+
+ Validates the JWT signature.
+
+
+
+
+ Obtains a and validates the signature.
+
+ Bytes to validate.
+ Signature to compare against.
+ to use.
+ Crypto algorithm to use.
+ The being validated.
+ Priority will be given to over .
+ 'true' if signature is valid.
+
+
+
+ Constants for Json Web Tokens.
+
+
+
+
+ Short header type.
+
+
+
+
+ Long header type.
+
+
+
+
+ Short token type.
+
+
+
+
+ Long token type.
+
+
+
+
+ JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required.
+
+
+
+
+ JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'.
+
+
+
+
+ The number of parts in a JWE token.
+
+
+
+
+ The number of parts in a JWS token.
+
+
+
+
+ The maximum number of parts in a JWT.
+
+
+
+
+ JWE header alg indicating a shared symmetric key is directly used as CEK.
+
+
+
+
+ List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5.
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10
+ Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9
+ Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#page-12
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3
+
+
+
+
+ List of registered claims from different sources
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+ http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+
+
+
+
+
+
+
+
+ http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+
+
+
+
+ http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+
+
+
+
+ http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken
+
+
+
+
+ http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+
+
+
+
+ http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-5
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents the parameters needed to decrypt a JSON Web Token
+
+
+
+
+ Gets or sets signature algorithm that was used to create the signature.
+
+
+
+
+ Gets or sets the AuthenticationTag from the original raw data of this instance when it was created.
+
+
+
+
+ Gets or sets the Ciphertext from the original raw data of this instance when it was created.
+
+
+
+
+ Gets or sets the function used to attempt decompression with.
+
+
+
+
+ Gets or sets the encryption algorithm (Enc) of the token.
+
+
+
+
+ Gets the EncodedHeader from the original raw data of this instance when it was created.
+
+
+
+
+ Gets or sets the EncodedHeader from the original raw data of this instance when it was created.
+
+
+
+
+ Gets or sets the InitializationVector from the original raw data of this instance when it was created.
+
+
+
+
+ Gets or sets the collection of s to attempt to decrypt with.
+
+
+
+
+ Gets or sets the 'value' of the 'zip' claim.
+
+
+
+
+ A class which contains useful methods for processing JWT tokens.
+
+
+
+
+ Regex that is used to figure out if a token is in JWS format.
+
+
+
+
+ Regex that is used to figure out if a token is in JWE format.
+
+
+
+
+ Produces a signature over the .
+
+ String to be signed
+ The that contain crypto specs used to sign the token.
+ The bse64urlendcoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ).
+ 'input' or 'signingCredentials' is null.
+
+
+
+ Produces a signature over the .
+
+ String to be signed
+ The that contain crypto specs used to sign the token.
+ should the be cached.
+ The bse64urlendcoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ).
+ or is null.
+
+
+
+ Decompress JWT token bytes.
+
+
+
+ if is null.
+ if is null.
+ if the decompression is not supported.
+ if decompression using fails.
+ Decompressed JWT token
+
+
+
+ Decrypts a Json Web Token.
+
+ The Json Web Token
+ The validation parameters containing cryptographic material.
+ The decryption parameters container.
+ The decrypted, and if the 'zip' claim is set, decompressed string representation of the token.
+
+
+
+ Generates key bytes.
+
+
+
+
+ Gets all decryption keys.
+
+
+
+
+ Gets the using the number of seconds from 1970-01-01T0:0:0Z (UTC)
+
+ Claim in the payload that should map to an integer, float, or string.
+ The payload that contains the desired claim value.
+ If the claim is not found, the function returns:
+
+ If the value of the claim cannot be parsed into a long.
+ The representation of a claim.
+
+
+
+ Returns a to use when validating the signature of a token.
+
+ The kid field of the token being validated
+ The x5t field of the token being validated
+ A required for validation.
+ The that will be used along with the to resolve the signing key
+ Returns a to use for signature validation.
+ If key fails to resolve, then null is returned
+
+
+
+ Returns a to use when validating the signature of a token.
+
+ The kid field of the token being validated
+ The x5t field of the token being validated
+ A required for validation.
+ Returns a to use for signature validation.
+ If key fails to resolve, then null is returned
+
+
+
+ Log messages and codes
+
+
+
+
diff --git a/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml.meta b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml.meta
new file mode 100644
index 0000000..1b6b4d9
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.JsonWebTokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2ba6a854c4d16d04187e09a94ac8f76c
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0.meta b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0.meta
new file mode 100644
index 0000000..f0bac85
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9032b683120a9b25eb0def52e64696ca
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/.signature.p7s b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/.signature.p7s
new file mode 100644
index 0000000..c602438
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/.signature.p7s differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/Microsoft.IdentityModel.Logging.6.22.0.nupkg b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/Microsoft.IdentityModel.Logging.6.22.0.nupkg
new file mode 100644
index 0000000..3375126
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/Microsoft.IdentityModel.Logging.6.22.0.nupkg differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/Microsoft.IdentityModel.Logging.6.22.0.nupkg.meta b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/Microsoft.IdentityModel.Logging.6.22.0.nupkg.meta
new file mode 100644
index 0000000..699fa25
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/Microsoft.IdentityModel.Logging.6.22.0.nupkg.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: db5ad8e275fcbdee7bd1e8227c6141c1
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib.meta b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib.meta
new file mode 100644
index 0000000..e1a419f
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1896b7dc7a06c5252b336f1867d7b566
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0.meta b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0.meta
new file mode 100644
index 0000000..b9f75e3
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d572a707da82291ce8cfdc1fc8f90cc4
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll
new file mode 100644
index 0000000..e2a39d7
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll.meta b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll.meta
new file mode 100644
index 0000000..29201e3
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 689112defc396adb9b5251328e2e16b6
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml
new file mode 100644
index 0000000..075989d
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml
@@ -0,0 +1,533 @@
+
+
+
+ Microsoft.IdentityModel.Logging
+
+
+
+
+ Event source based logger to log different events.
+
+
+
+
+ Static logger that is exposed externally. An external application or framework can hook up a listener to this event source to log data in a custom way.
+
+
+
+
+ Flag which indicates whether or not PII is shown in logs. False by default.
+
+
+
+
+ String that is used in place of any arguments to log messages if the 'ShowPII' flag is set to false.
+
+
+
+
+ Indicates whether or the log message header (contains library version, date/time, and PII debugging information) has been written.
+
+
+
+
+ The log message that indicates the current library version.
+
+
+
+
+ The log message that indicates the date.
+
+
+
+
+ The log message that is shown when PII is off.
+
+
+
+
+ The log message that is shown when PII is off.
+
+
+
+
+ Writes an event log by using the provided string argument and current UTC time.
+ No level filtering is done on the event.
+
+ The log message.
+ No level filtering.
+
+
+
+ Writes an event log by using the provided string argument, current UTC time and the provided arguments list.
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Writes a verbose event log by using the provided string argument and current UTC time.
+
+ The log message.
+
+
+
+ Writes a verbose event log by using the provided string argument, current UTC time and the provided arguments list.
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Writes an information event log by using the provided string argument and current UTC time.
+
+ The log message.
+
+
+
+ Writes an information event log by using the provided string argument, current UTC time and the provided arguments list.
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Writes a warning event log by using the provided string argument and current UTC time.
+
+ The log message.
+
+
+
+ Writes a warning event log by using the provided string argument, current UTC time and the provided arguments list.
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Writes an error event log by using the provided string argument and current UTC time.
+
+ The log message.
+
+
+
+ Writes an error event log by using the provided string argument, current UTC time and the provided arguments list.
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Writes a critical event log by using the provided string argument and current UTC time.
+
+ The log message.
+
+
+
+ Writes a critical event log by using the provided string argument, current UTC time and the provided arguments list.
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Writes an exception log by using the provided event identifer, exception argument, string argument and current UTC time.
+
+
+
+ The log message.
+
+
+
+ Writes an exception log by using the provided event identifer, exception argument, string argument, arguments list and current UTC time.
+
+
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Minimum log level to log events. Default is Warning.
+
+
+
+
+ Provides a way to add and remove telemetry data.
+
+
+
+
+ Get the string that represents the client SKU.
+
+
+
+
+ Get the string that represents the client version.
+
+
+
+
+ Adds a key and its value to the collection of telemetry data.
+
+ The name of the telemetry.
+ The value of the telemetry.
+ true if the key is successfully added; otherwise, false.
+
+
+
+ Removes a key and its value from the collection of telemetry data.
+
+ The name of the telemetry.
+ true if the key is successfully removed; otherwise, false.
+
+
+
+ A context class that can be used to store work per request to aid with debugging.
+
+
+
+
+ Instantiates a new with the default activityId.
+
+
+
+
+ Instantiates a new with an activityId.
+
+
+
+
+
+ Gets or set a that will be used in the call to EventSource.SetCurrentThreadActivityId before logging.
+
+
+
+
+ Gets or sets a boolean controlling if logs are written into the context.
+ Useful when debugging.
+
+
+
+
+ Gets or sets a string that helps with setting breakpoints when debugging.
+
+
+
+
+ The collection of logs associated with a request. Use to control capture.
+
+
+
+
+ Gets or sets an that enables custom extensibility scenarios.
+
+
+
+
+ Helper class for logging.
+
+
+
+
+ Gets or sets a logger to which logs will be written to.
+
+
+
+
+ Indicates whether the log message header (contains library version, date/time, and PII debugging information) has been written.
+
+
+
+
+ The log message that is shown when PII is off.
+
+
+
+
+ The log message that is shown when PII is on.
+
+
+
+
+ Logs an exception using the event source logger and returns new exception.
+
+ argument that is null or empty.
+ EventLevel is set to Error.
+
+
+
+ Logs an exception using the event source logger and returns new typed exception.
+
+ message to log.
+ EventLevel is set to Error.
+
+
+
+ Logs an argument exception using the event source logger and returns new typed exception.
+
+ Identifies the argument whose value generated the ArgumentException.
+ message to log.
+ EventLevel is set to Error.
+
+
+
+ Logs an exception using the event source logger and returns new typed exception.
+
+ Format string of the log message.
+ An object array that contains zero or more objects to format.
+ EventLevel is set to Error.
+
+
+
+ Logs an argument exception using the event source logger and returns new typed exception.
+
+ Identifies the argument whose value generated the ArgumentException.
+ Format string of the log message.
+ An object array that contains zero or more objects to format.
+ EventLevel is set to Error.
+
+
+
+ Logs an exception using the event source logger and returns new typed exception.
+
+ the inner to be added to the outer exception.
+ message to log.
+ EventLevel is set to Error.
+
+
+
+ Logs an argument exception using the event source logger and returns new typed exception.
+
+ Identifies the argument whose value generated the ArgumentException.
+ the inner to be added to the outer exception.
+ message to log.
+ EventLevel is set to Error.
+
+
+
+ Logs an exception using the event source logger and returns new typed exception.
+
+ the inner to be added to the outer exception.
+ Format string of the log message.
+ An object array that contains zero or more objects to format.
+ EventLevel is set to Error.
+
+
+
+ Logs an argument exception using the event source logger and returns new typed exception.
+
+ Identifies the argument whose value generated the ArgumentException.
+ the inner to be added to the outer exception.
+ Format string of the log message.
+ An object array that contains zero or more objects to format.
+ EventLevel is set to Error.
+
+
+
+ Logs an exception using the event source logger and returns new typed exception.
+
+ Identifies the level of an event to be logged.
+ message to log.
+
+
+
+ Logs an argument exception using the event source logger and returns new typed exception.
+
+ Identifies the level of an event to be logged.
+ Identifies the argument whose value generated the ArgumentException.
+ message to log.
+
+
+
+ Logs an exception using the event source logger and returns new typed exception.
+
+ Identifies the level of an event to be logged.
+ Format string of the log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Logs an argument exception using the event source logger and returns new typed exception.
+
+ Identifies the level of an event to be logged.
+ Identifies the argument whose value generated the ArgumentException.
+ Format string of the log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Logs an exception using the event source logger and returns new typed exception.
+
+ Identifies the level of an event to be logged.
+ the inner to be added to the outer exception.
+ message to log.
+
+
+
+ Logs an argument exception using the event source logger and returns new typed exception.
+
+ Identifies the level of an event to be logged.
+ Identifies the argument whose value generated the ArgumentException.
+ the inner to be added to the outer exception.
+ message to log.
+
+
+
+ Logs an exception using the event source logger and returns new typed exception.
+
+ Identifies the level of an event to be logged.
+ the inner to be added to the outer exception.
+ Format string of the log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Logs an argument exception using the event source logger and returns new typed exception.
+
+ Identifies the level of an event to be logged.
+ Identifies the argument whose value generated the ArgumentException.
+ the inner to be added to the outer exception.
+ Format string of the log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Logs an exception using the event source logger.
+
+ The exception to log.
+
+
+
+ Logs an exception using the event source logger.
+
+ Identifies the level of an event to be logged.
+ The exception to log.
+
+
+
+ Logs an information event.
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Logs a verbose event.
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Logs a warning event.
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Logs an exception using the event source logger and returns new typed exception.
+
+ Identifies the level of an event to be logged.
+ Identifies the argument whose value generated the ArgumentException.
+ the inner to be added to the outer exception.
+ Format string of the log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Formats the string using InvariantCulture
+
+ Format string.
+ Format arguments.
+ Formatted string.
+
+
+
+ Marks a log message argument () as NonPII.
+
+ A log message argument to be marked as NonPII.
+ An argument marked as NonPII.
+
+ Marking an argument as NonPII in calls will result in logging
+ that argument in cleartext, regardless of the flag value.
+
+
+
+
+ Creates a by using the provided event level, exception argument, string argument and arguments list.
+
+
+
+ The log message.
+ An object array that contains zero or more objects to format.
+
+
+
+ Log messages and codes for Microsoft.IdentityModel.Logging
+
+
+
+
+ An internal structure that is used to mark an argument as NonPII.
+ Arguments wrapped with a NonPII structure will be considered as NonPII in the message logging process.
+
+
+
+
+ Argument wrapped with a structure is considered as NonPII in the message logging process.
+
+
+
+
+ Creates an instance of that wraps the .
+
+ An argument that is considered as NonPII.
+
+
+
+ Returns a string that represents the .
+
+ Null if the is null, otherwise calls method of the .
+
+
+
+ Event listener that writes logs to a file or a fileStream provided by user.
+
+
+
+
+ Name of the default log file, excluding its path.
+
+
+
+
+ Initializes a new instance of that writes logs to text file.
+
+
+
+
+ Initializes a new instance of that writes logs to text file.
+
+ location of the file where log messages will be written.
+
+
+
+ Initializes a new instance of that writes logs to text file.
+
+ StreamWriter where logs will be written.
+
+
+
+ Called whenever an event has been written by an event source for which the event listener has enabled events.
+
+
+
+
+
+ Releases all resources used by the current instance of the class.
+
+
+
+
diff --git a/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml.meta b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml.meta
new file mode 100644
index 0000000..c2db2de
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Logging.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Logging.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b2b296e82c9e8d70dae386d8acbfa79e
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0.meta b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0.meta
new file mode 100644
index 0000000..8a4b57b
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 596957307a9cbaff38b9e56daed32e71
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/.signature.p7s b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/.signature.p7s
new file mode 100644
index 0000000..515d05b
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/.signature.p7s differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/Microsoft.IdentityModel.Tokens.6.22.0.nupkg b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/Microsoft.IdentityModel.Tokens.6.22.0.nupkg
new file mode 100644
index 0000000..e905219
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/Microsoft.IdentityModel.Tokens.6.22.0.nupkg differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/Microsoft.IdentityModel.Tokens.6.22.0.nupkg.meta b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/Microsoft.IdentityModel.Tokens.6.22.0.nupkg.meta
new file mode 100644
index 0000000..351df31
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/Microsoft.IdentityModel.Tokens.6.22.0.nupkg.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 7b40b22852d14dfc092d15affa1e09b1
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib.meta b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib.meta
new file mode 100644
index 0000000..323afcf
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: db0cc88baf0cbc91380c96b3967a26d3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0.meta b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0.meta
new file mode 100644
index 0000000..f5259b1
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0510533ecd1ceb4a09066a1d2acc7d9f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll
new file mode 100644
index 0000000..47535af
Binary files /dev/null and b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll differ
diff --git a/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll.meta b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll.meta
new file mode 100644
index 0000000..f3599ac
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 94d63a2b0eae140e890b502062ed0f54
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml
new file mode 100644
index 0000000..9ca1e4b
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml
@@ -0,0 +1,16245 @@
+
+
+
+ Microsoft.IdentityModel.Tokens
+
+
+
+
+ This adapter abstracts the 'RSA' differences between versions of .Net targets.
+
+
+
+
+ Calls and
+
+
+
+
+ Base class for a Security Key that contains Asymmetric key material.
+
+
+
+
+ Default constructor
+
+
+
+
+ This must be overridden to get a bool indicating if a private key exists.
+
+ true if it has a private key; otherwise, false.
+
+
+
+ Gets the status of the private key.
+
+ 'Exists' if private key exists for sure; 'DoesNotExist' if private key doesn't exist for sure; 'Unknown' if we cannot determine.
+
+
+
+ Enum for the existence of private key
+
+
+
+
+ private key exists for sure
+
+
+
+
+ private key doesn't exist for sure
+
+
+
+
+ unable to determine the existence of private key
+
+
+
+
+ Provides signature and verification operations for Asymmetric Algorithms using a .
+
+
+
+
+ Mapping from algorithm to minimum .KeySize when creating signatures.
+
+
+
+
+ Mapping from algorithm to minimum .KeySize when verifying signatures.
+
+
+
+
+ Initializes a new instance of the class used to create and verify signatures.
+
+ The that will be used for signature operations.
+ The signature algorithm to apply.
+
+
+
+ Initializes a new instance of the class used to create and verify signatures.
+
+ The that will be used for signature operations.
+ The signature algorithm to apply.
+ If this is required to create signatures then set this to true.
+
+ Creating signatures requires that the has access to a private key.
+ Verifying signatures (the default), does not require access to the private key.
+
+ is null.
+ is null or empty.
+ is true and there is no private key.
+ If and algorithm pair are not supported.
+
+ willCreateSignatures is true and .KeySize is less than the size corresponding to the given algorithm in .
+
+
+ .KeySize is less than the size corresponding to the algorithm in . Note: this is always checked.
+
+ If the runtime is unable to create a suitable cryptographic provider.
+
+
+
+ Gets the mapping from algorithm to the minimum .KeySize for creating signatures.
+
+
+
+
+ Gets the mapping from algorithm to the minimum .KeySize for verifying signatures.
+
+
+
+
+ Creating a Signature requires the use of a .
+ This method returns the
+ that describes the to use when generating a Signature.
+
+ The SignatureAlgorithm in use.
+ The to use.
+ if is null or whitespace.
+ if is not supported.
+
+
+
+ For testing purposes
+
+
+
+
+ Produces a signature over the 'input' using the and algorithm passed to .
+
+ The bytes to be signed.
+ A signature over the input.
+ if is null.
+ if .Length == 0.
+ If has been called.
+ Sign is thread safe.
+
+
+
+ Validates that an asymmetric key size is of sufficient size for a SignatureAlgorithm.
+
+ The asymmetric key to validate.
+ Algorithm for which this key will be used.
+ Whether they key will be used for creating signatures.
+ if is null.
+ if is null or empty.
+ if .KeySize is less than the minimum
+ acceptable size.
+
+ for minimum signing sizes.
+ for minimum verifying sizes.
+
+
+
+
+ Verifies that the over using the
+ and specified by this
+ are consistent.
+
+ The bytes to generate the signature over.
+ The value to verify against.
+ true if signature matches, false otherwise.
+ is null or has length == 0.
+ is null or has length == 0.
+ If has been called.
+ Verify is thread safe.
+
+
+
+ Calls to release managed resources.
+
+ true, if called from Dispose(), false, if invoked inside a finalizer.
+
+
+
+ Encodes and Decodes strings as Base64Url encoding.
+
+
+
+
+ Encoding table
+
+
+
+
+ The following functions perform base64url encoding which differs from regular base64 encoding as follows
+ * padding is skipped so the pad character '=' doesn't have to be percent encoded
+ * the 62nd and 63rd regular base64 encoding characters ('+' and '/') are replace with ('-' and '_')
+ The changes make the encoding alphabet file and URL safe.
+
+ string to encode.
+ Base64Url encoding of the UTF8 bytes.
+
+
+
+ Converts a subset of an array of 8-bit unsigned integers to its equivalent string representation which is encoded with base-64-url digits. Parameters specify
+ the subset as an offset in the input array, and the number of elements in the array to convert.
+
+ An array of 8-bit unsigned integers.
+ An offset in inArray.
+ The number of elements of inArray to convert.
+ The string representation in base 64 url encoding of length elements of inArray, starting at position offset.
+ 'inArray' is null.
+ offset or length is negative OR offset plus length is greater than the length of inArray.
+
+
+
+ Converts a subset of an array of 8-bit unsigned integers to its equivalent string representation which is encoded with base-64-url digits.
+
+ An array of 8-bit unsigned integers.
+ The string representation in base 64 url encoding of length elements of inArray, starting at position offset.
+ 'inArray' is null.
+ offset or length is negative OR offset plus length is greater than the length of inArray.
+
+
+
+ Converts the specified string, which encodes binary data as base-64-url digits, to an equivalent 8-bit unsigned integer array.
+ base64Url encoded string.
+ UTF8 bytes.
+
+
+
+ Decodes the string from Base64UrlEncoded to UTF8.
+
+ string to decode.
+ UTF8 string.
+
+
+
+ Represents a generic metadata configuration which is applicable for both XML and JSON based configurations.
+
+
+
+
+ Gets the issuer specified via the metadata endpoint.
+
+
+
+
+ Gets the that the IdentityProvider indicates are to be used in order to sign tokens.
+
+
+
+
+ Represents a generic configuration manager.
+
+
+
+
+ Gets or sets the that controls how often an automatic metadata refresh should occur.
+
+
+
+
+ 12 hours is the default time interval that afterwards will obtain new configuration.
+
+
+
+
+ 1 hour is the default time interval that a last known good configuration will last for.
+
+
+
+
+ 5 minutes is the default time interval that must pass for to obtain a new configuration.
+
+
+
+
+ Obtains an updated version of if the appropriate refresh interval has passed.
+ This method may return a cached version of the configuration.
+
+ CancellationToken
+ Configuration of type Configuration.
+ This method on the base class throws a as it is meant to be
+ overridden by the class that extends it.
+
+
+
+ The last known good configuration or LKG (a configuration retrieved in the past that we were able to successfully validate a token against).
+
+
+
+
+ The length of time that a last known good configuration is valid for.
+
+
+
+
+ The metadata address to retrieve the configuration from.
+
+
+
+
+ 5 minutes is the minimum value for automatic refresh. can not be set less than this value.
+
+
+
+
+ 1 second is the minimum time interval that must pass for to obtain new configuration.
+
+
+
+
+ The minimum time between retrievals, in the event that a retrieval failed, or that a refresh was explicitly requested.
+
+
+
+
+ Indicates whether the last known good feature should be used, true by default.
+
+
+
+
+ Indicates whether the last known good configuration is still fresh, depends on when the LKG was first used and it's lifetime.
+
+
+
+
+ Indicate that the configuration may be stale (as indicated by failing to process incoming tokens).
+
+
+
+
+ An opaque context used to store work when working with authentication artifacts.
+
+
+
+
+ Instantiates a new with a default activityId.
+
+
+
+
+ Instantiates a new with an activityId.
+
+
+
+
+ A class which contains useful methods for processing collections.
+
+
+
+
+ Checks whether is null or empty.
+
+ The type of the .
+ The to be checked.
+ True if is null or empty, false otherwise.
+
+
+
+ Constants for compression algorithms.
+
+
+
+
+ Compression provider factory for compression and decompression.
+
+
+
+
+ Static constructor that initializes the default .
+
+
+
+
+ Default constructor for .
+
+
+
+
+ Constructor that creates a deep copy of given object.
+
+ to copy from.
+
+
+
+ Returns the default instance.
+
+
+
+
+ Extensibility point for custom compression support application wide.
+
+
+
+
+ Answers if an algorithm is supported.
+
+ the name of the crypto algorithm.
+ true if the algorithm is supported, false otherwise.
+
+
+
+ Returns a for a specific algorithm.
+
+ the decompression algorithm.
+ a .
+
+
+
+ Definition of cache for crypto providers
+
+
+
+
+ Returns the cache key to use when looking up an entry into the cache for a
+
+ the to create the key for.
+ the cache key to use for finding a .
+
+
+
+ Returns the 'key' that will be used to find a crypto provider in this cache.
+
+ the key that is used to by the crypto provider.
+ the algorithm that is used by the crypto provider.
+ the typeof the crypto provider obtained by calling object.GetType().
+ the cache key to use for finding a crypto provider.
+
+
+
+ Trys to adds a to this cache.
+
+ to cache.
+ true if the was added, false if the cache already contained the
+
+
+
+ Trys to find a in this cache.
+
+ the key that is used to by the crypto provider.
+ the algorithm that is used by the crypto provider.
+ the typeof the crypto provider obtained by calling object.GetType().
+ a bool to indicate if the will be used to sign.
+ the if found.
+ true if a was found, false otherwise.
+
+
+
+ Trys to remove a from this cache.
+
+ to remove.
+ true if the was removed, false if the was not found.
+
+
+
+ Specifies the CryptoProviderCacheOptions which can be used to configure the internal cryptoprovider cache.
+ We are using our own simple LRU caching implementation across all targets.
+ See for more details.
+
+
+
+
+ Default value for .
+
+
+
+
+ Gets or sets the size of the cache (in number of items).
+ 20% of the cache will be evicted whenever the cache gets to 95% of this size.
+ Items will be evicted from least recently used to most recently used.
+
+
+
+
+ Creates cryptographic operators by specifying a 's and algorithms.
+
+
+
+
+ Returns the default instance.
+
+
+
+
+ Gets or sets the default value for caching of 's.
+
+
+
+
+ Gets or sets the maximum size of the object pool used by the SignatureProvider that are used for crypto objects.
+
+
+
+
+ Static constructor that initializes the default .
+
+
+
+
+ Default constructor for .
+
+
+
+
+ Initializes an instance of a .
+
+
+ The cache to use for caching CryptoProviders
+
+
+
+
+ Constructor that creates a deep copy of given object.
+
+ to copy from.
+
+
+
+ Gets the
+
+
+
+
+ Extensibility point for creating custom cryptographic operators.
+
+ By default, if set, will be called before creating cryptographic operators.
+ If true is returned, then will be called. The will throw if the
+ Cryptographic operator returned is not of the correct type.
+
+
+
+ Gets or sets a bool controlling if should be cached.
+
+
+
+
+ Gets or sets the maximum size of the object pool used by the SignatureProvider that are used for crypto objects.
+
+
+
+
+ Creates an instance of for a specific <SecurityKey, Algorithm>.
+
+ the to use.
+ the algorithm to use.
+ thrown if is null.
+ thrown if is null or empty.
+ thrown if and algorithm pair are not supported.
+ thrown if returns a type that is not assignable from .
+
+ If is set and returns true.
+ is called to obtain the .
+
+ When finished with the call .
+
+ an instance of
+
+
+
+ Creates an instance of for a specific <SecurityKey, Algorithm>.
+
+ the to use.
+ the algorithm to use.
+ thrown if is null.
+ thrown if is null or empty.
+ thrown if and algorithm pair are not supported.
+ thrown if returns a type not assignable from .
+
+ If is set and returns true.
+ is called to obtain the .
+
+ When finished with the call .
+
+ an instance of
+
+
+
+ Creates an instance of for a specific <SecurityKey, Algorithm>.
+
+ the to use.
+ the algorithm to use.
+ thrown if is null.
+ thrown if is null or empty.
+ thrown if and algorithm pair are not supported.
+ thrown if returns a type that is not assignable from .
+
+ If is set and returns true.
+ is called to obtain the .
+
+ When finished with the call .
+
+ an instance of
+
+
+
+ Creates a that creates a signature with the algorithm and .
+
+ the to use for signing.
+ the algorithm to use for signing.
+ thrown if is null.
+ thrown if is null or empty.
+ thrown if is too small.
+ thrown if is not assignable from or .
+ thrown if the key / algorithm is not supported.
+ thrown if returns a type that is not assignable from .
+
+ AsymmetricSignatureProviders require access to a PrivateKey for Signing.
+ When finished with the call .
+ If is set and returns true.
+ is called to obtain the .
+
+
+ A that can be used to create a signature using the and algorithm.
+
+
+
+ Creates a that creates a signature with the algorithm and .
+
+ the to use for signing.
+ the algorithm to use for signing.
+ indicates if the should be cached for reuse.
+ thrown if is null.
+ thrown if is null or empty.
+ thrown if is too small.
+ thrown if is not assignable from or .
+ thrown if the key / algorithm is not supported.
+ thrown if returns a type that is not assignable from .
+
+ AsymmetricSignatureProviders require access to a PrivateKey for Signing.
+ When finished with the call .
+ If is set and returns true.
+ is called to obtain the .
+
+
+ A that can be used to create a signature using the and algorithm.
+
+
+
+ Creates a that supports the and algorithm.
+
+ The to use for signature verification.
+ The algorithm to use for verifying.
+ thrown if is null.
+ thrown if is null or empty.
+ thrown if is too small.
+ thrown if is not assignable from or .
+ thrown if the key / algorithm is not supported.
+ thrown if returns a type that is not assignable from .
+ When finished with the call .
+ If is set and returns true.
+ is called to obtain the .
+
+
+ A that can be used to validate a signature using the and algorithm.
+
+
+
+ Creates a that supports the and algorithm.
+
+ The to use for signature verification.
+ The algorithm to use for verifying.
+ should the be cached.
+ thrown if is null.
+ thrown if is null or empty.
+ thrown if is too small.
+ thrown if is not assignable from or .
+ thrown if the key / algorithm is not supported.
+ thrown if returns a type that is not assignable from .
+ When finished with the call .
+ If is set and returns true.
+ is called to obtain the .
+
+
+ A that can be used to validate a signature using the and algorithm.
+
+
+
+ Creates a for a specific algorithm.
+
+ the name of the hash algorithm to create.
+ thrown if is null or empty.
+ thrown if returns a type that is not assignable from .
+ thrown if is not supported.
+ When finished with the call .
+ If is set and returns true.
+ is called to obtain the .
+
+
+ A .
+
+
+
+ Creates a for a specific algorithm.
+
+ the name of the hash algorithm to create.
+ thrown if is null or empty.
+ thrown if returns a type that is not assignable from .
+ thrown if is not supported.
+ When finished with the call .
+ If is set and returns true.
+ is called to obtain the .
+
+
+ A .
+
+
+
+ Returns a for a specific algorithm.
+
+ bytes to use to create the Keyed Hash.
+ the name of the keyed hash algorithm to create.
+ thrown if is null.
+ thrown if is null or empty.
+ thrown if returns a type that is not assignable from .
+ is not supported.
+ When finished with the call .
+ If is set and returns true.
+ is called to obtain the .
+
+
+ A .
+
+
+
+ For some security key types, in some runtimes, it's not possible to extract public key material and create an .
+ In these cases, will be an empty string, and these keys should not be cached.
+
+ to be examined.
+ True if should be cached, false otherwise.
+
+
+
+ Checks if an algorithm is supported.
+
+ the name of the Hash algorithm.
+ Only considers known Hash algorithms.
+ true if:
+
+ If is set and returns true.
+
+ The algorithm is supported.
+
+
+
+
+
+ Checks if the algorithm and is supported.
+
+ the security algorithm to apply.
+ the .
+ Algorithms are supported for specific key types.
+ For example:
+ and will return true.
+ and will return false.
+
+ true if:
+
+ If is set and returns true.
+
+ The algorithm / key pair is supported.
+
+
+
+
+
+ When finished with a call this method for cleanup. The default behavior is to call
+
+ to be released.
+ thrown if is null.
+
+
+
+ When finished with a call this method for cleanup."/>
+
+ to be released.
+ thrown if is null.
+
+
+
+ When finished with a call this method for cleanup."/>
+
+ to be released.
+ thrown if is null.
+
+
+
+ When finished with a call this method for cleanup. The default behavior is to call
+
+ to be released.
+ thrown if is null.
+
+
+
+ Helper class for adding DateTimes and Timespans.
+
+
+
+
+ Add a DateTime and a TimeSpan.
+ The maximum time is DateTime.MaxTime. It is not an error if time + timespan > MaxTime.
+ Just return MaxTime.
+
+ Initial value.
+ to add.
+ as the sum of time and timespan.
+
+
+
+ Gets the Maximum value for a DateTime specifying kind.
+
+ DateTimeKind to use.
+ DateTime of specified kind.
+
+
+
+ Gets the Minimum value for a DateTime specifying kind.
+
+ DateTimeKind to use.
+ DateTime of specified kind.
+
+
+
+ Ensures that DataTime is UTC.
+
+ to convert.
+
+
+
+
+ Ensures that DateTime is UTC.
+
+ to convert.
+
+
+
+
+ A compression provider that supports compression and decompression using the algorithm.
+
+
+
+
+ Initializes a new instance of the class used to compress and decompress used the algorithm.
+
+
+
+
+ Initializes a new instance of the class used to compress and decompress used the algorithm.
+ The compression level to use when compressing.
+
+
+
+
+ Gets the compression algorithm.
+
+
+
+
+ Specifies whether compression should emphasize speed or compression size.
+ Set to by default.
+
+
+
+
+ Decompress the value using DEFLATE algorithm.
+
+ the bytes to decompress.
+ the decompressed bytes.
+
+
+
+ Compress the value using the DEFLATE algorithm.
+
+ the bytes to compress.
+ the compressed bytes.
+
+
+
+ Answers if a compression algorithm is supported.
+
+ the name of the compression algorithm.
+ true if the compression algorithm is supported, false otherwise.
+
+
+
+ This adapter abstracts the differences between versions of .Net targets.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ creation is not supported by some platforms.
+ For more details, see https://aka.ms/IdentityModel/create-ecdsa.
+
+
+
+
+ Creates an ECDsa object using the and .
+
+
+
+
+ Creates an ECDsa object using the and .
+ 'ECParameters' structure is available in .NET Framework 4.7+, .NET Standard 1.6+, and .NET Core 1.0+.
+ This method is supported only on Windows as other platforms don't support operations with .
+
+
+
+
+ Returns the size of key in bytes
+
+ Represents ecdsa curve -P256, P384, P521
+ Size of the key in bytes
+
+
+
+ Magic numbers identifying ECDSA blob types
+
+
+
+
+ Returns the magic value representing the curve corresponding to the curve id.
+
+ Represents ecdsa curve -P256, P384, P512
+ Whether the provider will create signatures or not
+ Uint representing the magic number
+
+
+
+ Tests if user's runtime platform supports operations using .
+
+ True if operations using are supported on user's runtime platform, false otherwise.
+
+
+
+ Creates an ECDsa object using the and .
+ 'ECParameters' structure is available in .NET Framework 4.7+, .NET Standard 1.6+, and .NET Core 1.0+.
+
+
+
+
+ Returns the elliptic curve corresponding to the curve id.
+
+ Represents ecdsa curve -P256, P384, P512
+
+
+
+ Tests if user application's runtime supports structure.
+
+ True if structure is supported, false otherwise.
+
+
+
+ Throws during runtime if user application's runtime doesn't support structure.
+
+
+
+
+ Represents a ECDsa security key.
+
+
+
+
+ Returns a new instance of .
+
+
+
+
+
+ instance used to initialize the key.
+
+
+
+
+ Gets a bool indicating if a private key exists.
+
+ true if it has a private key; otherwise, false.
+
+
+
+ Gets an enum indicating if a private key exists.
+
+ 'Exists' if private key exists for sure; 'DoesNotExist' if private key doesn't exist for sure; 'Unknown' if we cannot determine.
+
+
+
+ Gets key size.
+
+
+
+
+ Determines whether the can compute a JWK thumbprint.
+
+ true if JWK thumbprint can be computed; otherwise, false.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Computes a sha256 hash over the .
+
+ A JWK thumbprint.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ A class for properties that are used for token encryption.
+
+
+
+
+ Initializes a new instance of the class.
+
+ .
+ A key wrap algorithm to use when encrypting a session key.
+ Data encryption algorithm to apply.
+ if 'certificate' is null.
+ if 'alg' is null or empty.
+ if 'enc' is null or empty.
+
+
+
+ Initializes a new instance of the class.
+
+ to use when encrypting a session key.
+ A key wrap algorithm to use when encrypting a session key.
+ Data encryption algorithm to apply.
+ if 'key' is null.
+ if 'alg' is null or empty.
+ if 'enc' is null or empty.
+
+
+
+ Initializes a new instance of the class.
+
+ Used in scenarios when a key represents a 'shared' symmetric key.
+ For example, SAML 2.0 Assertion will be encrypted using a provided symmetric key
+ which won't be serialized to a SAML token.
+
+ to apply.
+ Data encryption algorithm to apply.
+ If the is not a .
+ if 'enc' is null or empty.
+
+
+
+ Gets the key wrap algorithm used for session key encryption.
+
+
+
+
+ Gets the data encryption algorithm.
+
+
+
+
+ Public key used in Key Agreement Algorithms
+
+
+
+
+ Users can override the default with this property. This factory will be used for creating encryption providers.
+
+
+
+
+ Gets or sets a bool that controls if the encrypted token creation will set default 'cty' if not specified.
+
+ Applies to only JWT tokens.
+
+
+
+
+
+ Gets the used for encryption.
+
+
+
+
+ Provides authenticated encryption and decryption services.
+
+
+
+
+ Initializes a new instance of the class used for encryption and decryption.
+
+ The that will be used for crypto operations.
+ The encryption algorithm to apply.
+ 'key' is null.
+ 'algorithm' is null or whitespace.
+ key size is not large enough.
+ 'algorithm' is not supported.
+ a symmetricSignatureProvider is not created.
+
+
+
+ Gets the encryption algorithm that is being used.
+
+
+
+
+ Gets or sets a user context for a .
+
+ This is null by default. This can be used by applications for extensibility scenarios.
+
+
+
+ Gets the that is being used.
+
+
+
+
+ Encrypts the 'plaintext'
+
+ the data to be encrypted.
+ will be combined with iv and ciphertext to create an authenticationtag.
+ containing ciphertext, iv, authenticationtag.
+ plaintext is null or empty.
+ authenticationData is null or empty.
+ AES crypto operation threw. See inner exception for details.
+
+
+
+ Encrypts the 'plaintext'
+
+ the data to be encrypted.
+ will be combined with iv and ciphertext to create an authenticationtag.
+ initialization vector for encryption.
+ containing ciphertext, iv, authenticationtag.
+ is null or empty.
+ is null or empty.
+ Thrown if the AES crypto operation threw. See inner exception for details.
+ Thrown if the internal is disposed.
+
+
+
+ Decrypts ciphertext into plaintext
+
+ the encrypted text to decrypt.
+ the authenticateData that is used in verification.
+ the initialization vector used when creating the ciphertext.
+ the authenticationTag that was created during the encyption.
+ decrypted ciphertext
+ is null or empty.
+ is null or empty.
+ is null or empty.
+ is null or empty.
+ Thrown if the signature over the authenticationTag fails to verify.
+ Thrown if the AES crypto operation threw. See inner exception.
+ Thrown if the internal is disposed.
+
+
+
+ Calls and
+
+
+
+
+ Releases managed resources.
+
+ true, if called from Dispose(), false, if invoked inside a finalizer.
+
+
+
+ Checks if an 'key, algorithm' pair is supported
+
+ the
+ the algorithm to check.
+ true if 'key, algorithm' pair is supported.
+
+
+
+ The algorithm parameter logically defines a HMAC algorithm.
+ This method returns the HMAC to use.
+
+
+
+
+
+
+ Called to obtain the byte[] needed to create a
+
+ that will be used to obtain the byte[].
+ [] that is used to populated the KeyedHashAlgorithm.
+ if is null.
+ if a byte[] can not be obtained from SecurityKey.
+ and are supported.
+ For a .Key is returned
+ For a Base64UrlEncoder.DecodeBytes is called with if == JsonWebAlgorithmsKeyTypes.Octet
+
+
+
+
+ Checks that the key has sufficient length
+
+ that contains bytes.
+ the algorithm to apply.
+ if is null.
+ if is null or empty.
+ if is not a supported algorithm.
+
+
+
+ Contains the results of operation.
+
+
+
+
+ Initializes a new
+
+ the used during
+ protected text.
+ the initialization vector used.
+ the bytes that need be passed to .
+
+
+
+ Gets the .
+
+
+
+
+ Gets the Ciphertext.
+
+
+
+
+ Gets the initialization vector.
+
+
+
+
+ Gets the authentication tag
+
+
+
+
+ Provides Wrap key and Unwrap key services.
+
+
+
+
+ Gets the KeyWrap algorithm that is being used.
+
+
+
+
+ Gets or sets a user context for a .
+
+ This is null by default. This can be used by runtimes or for extensibility scenarios.
+
+
+
+ Gets the that is being used.
+
+
+
+
+ Calls and
+
+
+
+
+ Can be over written in descendants to dispose of internal components.
+
+ true, if called from Dispose(), false, if invoked inside a finalizer
+
+
+
+ Unwrap a key.
+
+ key to unwrap.
+ Unwrapped key.
+
+
+
+ Wrap a key.
+
+ the key to be wrapped
+ wrapped key.
+
+
+
+ Provides RSA Wrap key and Unwrap key services.
+
+
+
+
+ Initializes a new instance of used for wrapping and un-wrappping keys.
+ These keys are usually symmetric session keys that are wrapped using the recipients public key.
+ The that will be used for cryptographic operations.
+ The KeyWrap algorithm to apply.
+ Whether this is required to un-wrap keys. If true, the private key is required.
+ 'key' is null.
+ 'algorithm' is null.
+ The key size doesn't match the algorithm.
+ If and algorithm pair are not supported.
+ Failed to create RSA algorithm with provided key and algorithm.
+
+
+
+
+ Gets the KeyWrap algorithm that is being used.
+
+
+
+
+ Gets or sets a user context for a .
+
+ This is null by default. This is for use by the application and not used by this SDK.
+
+
+
+ Gets the that is being used.
+
+
+
+
+ Disposes of internal components.
+
+ true, if called from Dispose(), false, if invoked inside a finalizer.
+
+
+
+ Checks if an algorithm is supported.
+
+ The that will be used for crypto operations.
+ The KeyWrap algorithm to apply.
+ true if the algorithm is supported; otherwise, false.
+
+
+
+ Unwrap a key using RSA decryption.
+
+ the bytes to unwrap.
+ Unwrapped key
+ 'keyBytes' is null or length == 0.
+ If has been called.
+ Failed to unwrap the wrappedKey.
+ If the internal RSA algorithm is null.
+
+
+
+ Wrap a key using RSA encryption.
+
+ the key to be wrapped
+ A wrapped key
+ 'keyBytes' is null or has length == 0.
+ If has been called.
+ Failed to wrap the 'keyBytes'.
+ If the internal RSA algorithm is null.
+
+
+
+ Provides Wrap key and Unwrap key services.
+
+
+
+
+ Initializes a new instance of the class used for wrap key and unwrap key.
+ The that will be used for crypto operations.
+ The KeyWrap algorithm to apply.
+ 'key' is null.
+ 'algorithm' is null.
+ If and algorithm pair are not supported.
+ The cannot be converted to byte array
+ The keysize doesn't match the algorithm.
+ Failed to create symmetric algorithm with provided key and algorithm.
+
+
+
+
+ Gets the KeyWrap algorithm that is being used.
+
+
+
+
+ Gets or sets a user context for a .
+
+ This is null by default. This can be used by runtimes or for extensibility scenarios.
+
+
+
+ Gets the that is being used.
+
+
+
+
+ Disposes of internal components.
+
+ true, if called from Dispose(), false, if invoked inside a finalizer.
+
+
+
+ Returns the .
+
+
+ The cannot be converted to byte array
+ The keysize doesn't match the algorithm.
+ Failed to create symmetric algorithm with provided key and algorithm.
+
+
+
+ Answers if an algorithm is supported
+
+ the
+ the algorithm to use
+ true if the algorithm is supported; otherwise, false.
+
+
+
+ Unwrap a key using Symmetric decryption.
+
+ bytes to unwrap
+ Unwraped key
+ 'keyBytes' is null or length == 0.
+ 'keyBytes' is not a multiple of 8.
+ If has been called.
+ Failed to unwrap the wrappedKey.
+
+
+
+ Wrap a key using Symmetric encryption.
+
+ the key to be wrapped
+ The wrapped key result
+ 'keyBytes' is null or has length 0.
+ 'keyBytes' is not a multiple of 8.
+ If has been called.
+ Failed to wrap 'keyBytes'.
+
+
+
+ Returns the absolute DateTime or the Seconds since Unix Epoch, where Epoch is UTC 1970-01-01T0:0:0Z.
+
+
+
+
+ DateTime as UTV for UnixEpoch
+
+
+
+
+ Per JWT spec:
+ Gets the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the desired date/time.
+
+ The DateTime to convert to seconds.
+ if dateTimeUtc less than UnixEpoch, return 0
+ the number of seconds since Unix Epoch.
+
+
+
+ Creates a DateTime from epoch time.
+
+ Number of seconds.
+ The DateTime in UTC.
+
+
+
+ This is an LRU cache implementation that relies on an event queue rather than locking to achieve thread safety.
+ This approach has been decided on in order to optimize the performance of the get and set operations on the cache.
+ This cache contains a doubly linked list in order to maintain LRU order, as well as a dictionary (map) to keep track of
+ keys and expiration times. The linked list (a structure which is not thread-safe) is NEVER modified directly inside
+ an API call (e.g. get, set, remove); it is only ever modified sequentially by a background thread. On the other hand,
+ the map is a which may be modified directly inside an API call or
+ through eventual processing of the event queue. This implementation relies on the principle of 'eventual consistency':
+ though the map and it's corresponding linked list may be out of sync at any given point in time, they will eventually line up.
+ See here for more details:
+ https://aka.ms/identitymodel/caching
+
+ The key type to be used by the cache.
+ The value type to be used by the cache
+
+
+
+ Constructor.
+
+ The capacity of the cache, used to determine if experiencing overflow.
+ The event queue task creation option, default to None instead of LongRunning as LongRunning will always start a task on a new thread instead of ThreadPool.
+ The equality comparison implementation to be used by the map when comparing keys.
+ Whether or not to remove expired items.
+ The period to wait to remove expired items, in seconds.
+ Whether or not to maintain items in a LRU fashion, moving to front of list when accessed in the cache.
+
+
+
+ Occurs when the application is ready to exit.
+
+ The sender of the event.
+ The event argument.
+
+
+
+ Occurs when an AppDomain is about to be unloaded.
+
+ The sender of the event.
+ The event argument.
+
+
+
+ Stop the event queue task.
+ This is provided mainly for users who have unit tests that check for running task(s) to stop the task at the end of each test.
+
+
+
+
+ Stop the event queue task immediately if it is running. This allows the task/thread to terminate gracefully.
+ Currently there is no unmanaged resource, if any is added in the future it should be disposed of in this method.
+
+
+
+
+ This is the delegate for the event queue task.
+
+
+
+
+ Remove all expired cache items from _doubleLinkedList and _map.
+
+ Number of items removed.
+
+
+
+ Remove all expired cache items from the _map ONLY. This is called for the non-LRU (_maintainLRU = false) scenaro.
+ The enumerator returned from the dictionary is safe to use concurrently with reads and writes to the dictionary, according to the MS document.
+
+ Number of items removed.
+
+
+
+ Remove items from the LinkedList by the desired compaction percentage.
+ This should be a private method.
+
+
+
+
+ Remove items from the Dictionary by the desired compaction percentage.
+ Since _map does not have LRU order, items are simply removed from using FirstOrDefault().
+
+
+
+
+ When the cache is at _maxCapacityPercentage, it needs to be compacted by _compactionPercentage.
+ This method calculates the new size of the cache after being compacted.
+
+ The new target cache size after compaction.
+
+
+
+ This is the method that determines the end time for the event queue task.
+ The goal is to be able to track the incoming events and predict how long the task should run in order to
+ avoid a long running task and reduce the overhead costs of restarting tasks.
+ For example, maybe we can track the last three events' time and set the _eventQueueRunDurationInSeconds = 2 * average_time_between_events.
+ Note: tasks are based on thread pool so the overhead should not be huge but we should still try to minimize it.
+
+ the time when the event queue task should end
+
+
+
+ This method is called after an item is added to the event queue. It will start the event queue task if one is not already running (_eventQueueTaskState != EventQueueTaskRunning).
+ Using CompareExchange to set the _eventQueueTaskState prevents multiple tasks from being started.
+
+
+
+ Each time a node gets accessed, it gets moved to the beginning (head) of the list if the _maintainLRU == true
+
+
+ Removes a particular key from the cache.
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+ FOR TESTING PURPOSES ONLY.
+ This is for tests to verify all tasks exit at the end of tests if the queue is empty.
+
+
+
+
+ FOR TESTING PURPOSES ONLY.
+
+
+
+
+ Thrown when JWE compression fails.
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ Thrown when JWE decompression fails.
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ Represents a security token exception when decryption failed.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class with a specified error message
+ and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The that is the cause of the current exception, or a null reference if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ Represents a security token exception when encryption failed.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class with a specified error message
+ and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The that is the cause of the current exception, or a null reference if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ This exception is thrown when a security token contained a key identifier but the key was not found by the runtime
+ when decrypting a token.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ Represents a security token exception.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class with a specified error message
+ and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The that is the cause of the current exception, or a null reference if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ When overridden in a derived class, sets the System.Runtime.Serialization.SerializationInfo
+ with information about the exception.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ thrown if is null.
+
+
+
+ Throw this exception when a received Security Token has expiration time in the past.
+
+
+
+
+ Gets or sets the Expires value that created the validation exception. This value is always in UTC.
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+
+
+
+ This exception is thrown when a cryptographic algorithm is invalid.
+
+
+
+
+ Gets or sets the invalid algorithm that created the validation exception.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Additional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Additional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+
+
+
+ This exception is thrown when 'audience' of a token was not valid.
+
+
+
+
+ Gets or sets the InvalidAudience that created the validation exception.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+
+
+
+ This exception is thrown when 'issuer' of a token was not valid.
+
+
+
+
+ Gets or sets the InvalidIssuer that created the validation exception.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+
+
+
+ This exception is thrown when 'lifetime' of a token was not valid.
+
+
+
+
+ Gets or sets the NotBefore value that created the validation exception. This value is always in UTC.
+
+
+
+
+ Gets or sets the Expires value that created the validation exception. This value is always in UTC.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+
+
+
+ This exception is thrown when 'signature' of a token was not valid.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ Throw this exception when a received Security Token has an invalid issuer signing key.
+
+
+
+
+ Gets or sets the SigningKey that was found invalid.
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ This exception is thrown when the token type ('typ' header claim) of a JWT token is invalid.
+
+
+
+
+ Gets or sets the invalid type that created the validation exception.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Additional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Additional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+
+
+
+ Represents a key wrap exception when encryption failed.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class with a specified error message
+ and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The that is the cause of the current exception, or a null reference if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ This exception is thrown when a security is missing an ExpirationTime.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ Throw this exception when a received Security token has an effective time
+ in the future.
+
+
+
+
+ Gets or sets the NotBefore value that created the validation exception. This value is always in UTC.
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+
+
+
+ This exception is thrown when an add to the TokenReplayCache fails.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ Throw this exception when a received Security Token has been replayed.
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of
+
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ This exception is thrown when a security token contained a key identifier but the key was not found by the runtime.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ This exception is thrown when a security token contained a key identifier but the key was not found by the runtime
+ and when validation errors exist over the security token. This exception is not intended to be used as a signal
+ to refresh keys.
+
+
+
+
+ Indicates the type of the validation failure.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The validation failures.
+ Addtional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+
+
+
+ Initializes a new instance of the class.
+
+ Addtional information to be included in the exception and displayed to user.
+ A that represents the root cause of the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+
+
+
+ Represents a security token validation exception.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class with a specified error message
+ and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The that is the cause of the current exception, or a null reference if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ the that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+
+ The reason for being unable to validate
+
+
+
+
+ Indicates no validation failures
+
+
+
+
+ Indicates that the lifetime was invalid
+
+
+
+
+ Indicates that the issuer was invalid
+
+
+
+
+ Compression provider interface.
+
+
+
+
+ Gets the compression algorithm.
+
+
+
+
+ Called to determine if an algorithm is supported.
+
+ the algorithm that defines the compression method.
+ true if supported
+
+
+
+ Decompress.
+
+ the value to decompress.
+
+
+
+ Compress.
+
+ the value to decompress.
+
+
+
+ Provides extensibility for cryptographic operators.
+ If custom operators are needed for then can be set to
+ return these operators. will be before each creation.
+
+
+
+
+ Called to determine if a cryptographic operation is supported.
+
+ the algorithm that defines the cryptographic operator.
+ the arguments required by the cryptographic operator. May be null.
+ true if supported
+
+
+
+ returns a cryptographic operator that supports the algorithm.
+
+ the algorithm that defines the cryptographic operator.
+ the arguments required by the cryptographic operator. May be null.
+ call when finished with the object.
+
+
+
+ called to release the object returned from
+
+ the object returned from .
+
+
+
+ Defines a cache for crypto providers.
+ Current support is limited to only.
+
+
+
+
+ Creates a new instance of using the default .
+
+
+
+
+ Creates a new instance of using the specified .
+
+ The options used to configure the .
+
+
+
+ Creates a new instance of using the specified .
+
+ The options used to configure the .
+ Options used to create the event queue thread.
+ The time used in ms for the timeout interval of the event queue. Defaults to 500 ms.
+
+
+
+ Returns the cache key to use when looking up an entry into the cache for a
+
+ the to create the key for.
+ if signatureProvider is null.
+ the cache key to use for finding a .
+
+
+
+ Returns the 'key' that will be used to find a crypto provider in this cache.
+
+ the key that is used to by the crypto provider.
+ the algorithm that is used by the crypto provider.
+ the typeof the crypto provider obtained by calling object.GetType().
+ if securityKey is null.
+ if algorithm is null or empty string.
+ if typeofProvider is null or empty string.
+ the cache key to use for finding a crypto provider.
+
+
+
+ Trys to adds a to this cache.
+
+ to cache.
+ if signatureProvider is null.
+
+ true if the was added, false if the cache already contained the or if should not be cached.
+
+ if the is added will be set to 'this'.
+
+
+
+ Trys to find a to this cache.
+
+ the key that is used to by the crypto provider.
+ the algorithm that is used by the crypto provider.
+ the typeof the crypto provider obtained by calling object.GetType().
+ a bool to indicate if the will be used to sign.
+ the if found.
+ if securityKey is null.
+ if algorithm is null or empty string.
+ if typeofProvider is null or empty string.
+ true if a was found, false otherwise.
+
+
+
+ Trys to remove a from this cache.
+
+ to remove.
+ if signatureProvider is null.
+ true if the was removed, false if the was not found.
+ if the is removed will be set to null.
+
+
+
+ Calls and
+ Note: the EventBasedLRUCache is no longer being disposed of, but since this is a public class and can be used as base class of
+ custom cache implementations, we need to keep it as some implementations may override Dispose().
+
+
+
+
+ If is true, this method disposes of and .
+
+ True if called from the method, false otherwise.
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+ FOR TESTING ONLY.
+
+
+
+
+ FOR TESTING PURPOSES ONLY.
+
+
+
+
+ Validators meant to be kept internal
+
+
+
+
+ Called after signature validation has failed. Will always throw an exception.
+
+
+ If the lifetime and issuer are valid
+
+
+ If the lifetime or issuer are invalid
+
+
+
+
+ Called after signature validation has failed. Will always throw an exception.
+
+
+ If the lifetime and issuer are valid
+
+
+ If the lifetime or issuer are invalid
+
+
+
+
+ ISecurityTokenValidator
+
+
+
+
+ Returns true if the token can be read, false otherwise.
+
+
+
+
+ Returns true if a token can be validated.
+
+
+
+
+ Gets and sets the maximum size in bytes, that a will be processed.
+
+
+
+
+ Validates a token passed as a string using
+
+
+
+
+ Interface that defines a simple cache for tacking replaying of security tokens.
+
+
+
+
+ Try to add a securityToken.
+
+ the security token to add.
+ the time when security token expires.
+ true if the security token was successfully added.
+
+
+
+ Try to find securityToken
+
+ the security token to find.
+ true if the security token is found.
+
+
+
+ Constants for JsonWebAlgorithms "kty" Key Type (sec 6.1)
+ https://datatracker.ietf.org/doc/html/rfc7518#section-6.1
+
+
+
+
+ Represents a JSON Web Key as defined in https://datatracker.ietf.org/doc/html/rfc7517.
+
+
+
+
+ Returns a new instance of .
+
+ A string that contains JSON Web Key parameters in JSON format.
+
+ If 'json' is null or empty.
+ If 'json' fails to deserialize.
+
+
+
+ Initializes an new instance of .
+
+
+
+
+ Initializes an new instance of from a json string.
+
+ A string that contains JSON Web Key parameters in JSON format.
+ If 'json' is null or empty.
+ If 'json' fails to deserialize.
+
+
+
+ If this was converted to or from a SecurityKey, this field will be set.
+
+
+
+
+ If this was failed converted to a SecurityKey, this field will be set.
+
+
+
+
+ When deserializing from JSON any properties that are not defined will be placed here.
+
+
+
+
+ Gets or sets the 'alg' (KeyType)..
+
+
+
+
+ Gets or sets the 'crv' (ECC - Curve)..
+
+
+
+
+ Gets or sets the 'd' (ECC - Private Key OR RSA - Private Exponent)..
+
+ Value is formated as: Base64urlUInt
+
+
+
+ Gets or sets the 'dp' (RSA - First Factor CRT Exponent)..
+
+ Value is formated as: Base64urlUInt
+
+
+
+ Gets or sets the 'dq' (RSA - Second Factor CRT Exponent)..
+
+ Value is formated as: Base64urlUInt
+
+
+
+ Gets or sets the 'e' (RSA - Exponent)..
+
+
+
+
+ Gets or sets the 'k' (Symmetric - Key Value)..
+
+ Base64urlEncoding
+
+
+
+ Gets the key id of this .
+
+
+
+
+ Gets the 'key_ops' (Key Operations)..
+
+
+
+
+ Gets or sets the 'kid' (Key ID)..
+
+
+
+
+ Gets or sets the 'kty' (Key Type)..
+
+
+
+
+ Gets or sets the 'n' (RSA - Modulus)..
+
+ Value is formated as: Base64urlEncoding
+
+
+
+ Gets or sets the 'oth' (RSA - Other Primes Info)..
+
+
+
+
+ Gets or sets the 'p' (RSA - First Prime Factor)..
+
+ Value is formated as: Base64urlUInt
+
+
+
+ Gets or sets the 'q' (RSA - Second Prime Factor)..
+
+ Value is formated as: Base64urlUInt
+
+
+
+ Gets or sets the 'qi' (RSA - First CRT Coefficient)..
+
+ Value is formated as: Base64urlUInt
+
+
+
+ Gets or sets the 'use' (Public Key Use)..
+
+
+
+
+ Gets or sets the 'x' (ECC - X Coordinate)..
+
+ Value is formated as: Base64urlEncoding
+
+
+
+ Gets the 'x5c' collection (X.509 Certificate Chain)..
+
+
+
+
+ Gets or sets the 'x5t' (X.509 Certificate SHA-1 thumbprint)..
+
+
+
+
+ Gets or sets the 'x5t#S256' (X.509 Certificate SHA-1 thumbprint)..
+
+
+
+
+ Gets or sets the 'x5u' (X.509 URL)..
+
+
+
+
+ Gets or sets the 'y' (ECC - Y Coordinate)..
+
+ Value is formated as: Base64urlEncoding
+
+
+
+ Gets the key size of .
+
+
+
+
+ Gets a bool indicating if a private key exists.
+
+ true if it has a private key; otherwise, false.
+
+
+
+ Gets a bool that determines if the 'key_ops' (Key Operations) property should be serialized.
+ This is used by Json.NET in order to conditionally serialize properties.
+
+ true if 'key_ops' (Key Operations) is not empty; otherwise, false.
+
+
+
+ Gets a bool that determines if the 'x5c' collection (X.509 Certificate Chain) property should be serialized.
+ This is used by Json.NET in order to conditionally serialize properties.
+
+ true if 'x5c' collection (X.509 Certificate Chain) is not empty; otherwise, false.
+
+
+
+ Determines whether the can compute a JWK thumbprint.
+
+ true if JWK thumbprint can be computed; otherwise, false.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Computes a sha256 hash over the .
+
+ A JWK thumbprint.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Creates a JsonWebKey representation of an asymmetric public key.
+
+ JsonWebKey representation of an asymmetric public key.
+ https://datatracker.ietf.org/doc/html/rfc7800#section-3.2
+
+
+
+ Returns the formatted string: GetType(), Use: 'value', Kid: 'value', Kty: 'value', InternalId: 'value'.
+
+ string
+
+
+
+ Converts a into a
+ Supports: converting to a from one of: , , and .
+
+
+
+
+ Converts a into a
+
+ a to convert.
+ a
+ if is null.
+ if is not a supported type.
+ Supports: , and .
+
+
+
+ Converts a into a
+
+ a to convert.
+ a
+ if is null.
+
+
+
+ Converts a into a
+
+ a to convert.
+ a
+ if is null.
+
+
+
+ Converts a into a .
+
+ a to convert.
+
+ true to represent the as an ,
+ false to represent the as an , using the "x5c" parameter.
+
+ a .
+ if is null.
+
+
+
+ Converts a into a
+
+ a to convert.
+ a
+ if is null.
+
+
+
+ Converts a into a
+
+ an to convert.
+ a
+ if is null.
+
+
+
+ Constants for JsonWebKey Elliptical Curve Types
+ https://datatracker.ietf.org/doc/html/rfc7518#section-6.2.1.1
+
+
+
+
+ Names for Json Web Key Values
+
+
+
+
+ Contains a collection of that can be populated from a json string.
+
+ provides support for https://datatracker.ietf.org/doc/html/rfc7517.
+
+
+
+ Returns a new instance of .
+
+ a string that contains JSON Web Key parameters in JSON format.
+
+ If 'json' is null or empty.
+ If 'json' fails to deserialize.
+
+
+
+ Initializes an new instance of .
+
+
+
+
+ Initializes an new instance of from a json string.
+
+ a json string containing values.
+ If 'json' is null or empty.
+ If 'json' fails to deserialize.
+
+
+
+ When deserializing from JSON any properties that are not defined will be placed here.
+
+
+
+
+ Gets the .
+
+
+
+
+ Default value for the flag that controls whether unresolved JsonWebKeys will be included in the resulting collection of method.
+
+
+
+
+ Flag that controls whether unresolved JsonWebKeys will be included in the resulting collection of method.
+
+
+
+
+ Returns the JsonWebKeys as a .
+
+
+ To include unresolved JsonWebKeys in the resulting collection, set to false.
+
+
+
+
+ Names for Json Web Key Set Values
+
+
+
+
+ Constants for JsonWebKeyUse (sec 4.2)
+ https://datatracker.ietf.org/doc/html/rfc7517#section-4.2
+
+
+
+
+ Log messages and codes
+
+
+
+
+ Generic implementation of object pooling pattern with predefined pool size limit. The main
+ purpose is that limited number of frequently used objects can be kept in the pool for
+ further recycling.
+
+ Notes:
+ 1) it is not the goal to keep all returned objects. Pool is not meant for storage. If there
+ is no space in the pool, extra returned objects will be dropped.
+
+ 2) it is implied that if object was obtained from a pool, the caller will return it back in
+ a relatively short time. Keeping checked out objects for long durations is ok, but
+ reduces usefulness of pooling. Just new up your own.
+
+ Not returning objects to the pool in not detrimental to the pool's work, but is a bad practice.
+ Rationale:
+ If there is no intent for reusing the object, do not use pool - just use "new".
+
+
+
+
+ Produces an instance.
+
+
+ Search strategy is a simple linear probing which is chosen for it cache-friendliness.
+ Note that Free will try to store recycled objects close to the start thus statistically
+ reducing how far we will typically search.
+
+
+
+
+ Returns objects to the pool.
+
+
+ Search strategy is a simple linear probing which is chosen for it cache-friendliness.
+ Note that Free will try to store recycled objects close to the start thus statistically
+ reducing how far we will typically search in Allocate.
+
+
+
+
+ Returns a string message for the specified Win32 error code.
+
+
+
+
+ Represents a Rsa security key.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Gets a bool indicating if a private key exists.
+
+ true if it has a private key; otherwise, false.
+
+
+
+ Gets an enum indicating if a private key exists.
+
+ 'Exists' if private key exists for sure; 'DoesNotExist' if private key doesn't exist for sure; 'Unknown' if we cannot determine.
+
+
+
+ Gets RSA key size.
+
+
+
+
+ used to initialize the key.
+
+
+
+
+ instance used to initialize the key.
+
+
+
+
+ Determines whether the can compute a JWK thumbprint.
+
+ true if JWK thumbprint can be computed; otherwise, false.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Computes a sha256 hash over the .
+
+ A JWK thumbprint.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Constants for Security Algorithm.
+
+
+
+
+ Base class for Security Key.
+
+
+
+
+ Default constructor
+
+
+
+
+ This must be overridden to get the size of this .
+
+
+
+
+ Gets the key id of this .
+
+
+
+
+ Gets or sets .
+
+
+
+
+ Returns the formatted string: GetType(), KeyId: 'value', InternalId: 'value'.
+
+ string
+
+
+
+ Determines whether the can compute a JWK thumbprint.
+
+ true if JWK thumbprint can be computed; otherwise, false.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Computes a sha256 hash over the .
+
+ A JWK thumbprint.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Checks if can perform the cryptographic operation specified by the with this .
+
+ the algorithm to apply.
+ true if can perform the cryptographic operation sepecified by the with this .
+
+
+
+ Sets the to value of 's JWK thumbprint if it can be computed, otherwise sets the to .
+
+
+
+
+ Contains information about the keys inside the tokens.
+
+
+
+
+ Base class for security token.
+
+
+
+
+ This must be overridden to get the Id of this .
+
+
+
+
+ This must be overridden to get the issuer of this .
+
+
+
+
+ This must be overridden to get the .
+
+
+
+
+ This must be overridden to get or set the that signed this instance.
+
+ .ValidateToken(...) can this value when a is used to successfully validate a signature.
+
+
+
+ This must be overridden to get the time when this was Valid.
+
+
+
+
+ This must be overridden to get the time when this is no longer Valid.
+
+
+
+
+ Contains some information which used to create a security token.
+
+
+
+
+ Gets or sets the value of the 'audience' claim.
+
+
+
+
+ Defines the compression algorithm that will be used to compress the JWT token payload.
+
+
+
+
+ Gets or sets the used to create a encrypted security token.
+
+
+
+
+ Gets or sets the value of the 'expiration' claim. This value should be in UTC.
+
+
+
+
+ Gets or sets the issuer of this .
+
+
+
+
+ Gets or sets the time the security token was issued. This value should be in UTC.
+
+
+
+
+ Gets or sets the notbefore time for the security token. This value should be in UTC.
+
+
+
+
+ Gets or sets the token type.
+ If provided, this will be added as the value for the 'typ' header parameter. In the case of a JWE, this will be added to both the inner (JWS) and the outer token (JWE) header. By default, the value used is 'JWT'.
+ If also contains 'typ' header claim value, it will override the TokenType provided here.
+ This value is used only for JWT tokens and not for SAML/SAML2 tokens
+
+
+
+
+ Gets or sets the which represents the claims that will be used when creating a security token.
+ If both and are set, the claim values in Subject will be combined with the values
+ in Claims. The values found in Claims take precedence over those found in Subject, so any duplicate
+ values will be overridden.
+
+
+
+
+ Gets or sets the which contains any custom header claims that need to be added to the JWT token header.
+ The 'alg', 'kid', 'x5t', 'enc', and 'zip' claims are added by default based on the ,
+ , and/or provided and SHOULD NOT be included in this dictionary as this
+ will result in an exception being thrown.
+ These claims are only added to the outer header (in case of a JWE).
+
+
+
+
+ Gets or sets the which contains any custom header claims that need to be added to the inner JWT token header.
+ The 'alg', 'kid', 'x5t', 'enc', and 'zip' claims are added by default based on the ,
+ , and/or provided and SHOULD NOT be included in this dictionary as this
+ will result in an exception being thrown.
+
+ For JsonWebTokenHandler, these claims are merged with while adding to the inner JWT header.
+
+
+
+
+
+ Gets or sets the used to create a security token.
+
+
+
+
+ Gets or sets the .
+ If both and are set, the claim values in Subject will be combined with the values
+ in Claims. The values found in Claims take precedence over those found in Subject, so any duplicate
+ values will be overridden.
+
+
+
+
+ Defines the interface for a Security Token Handler.
+
+
+
+
+ Creates an instance of
+
+
+
+
+ Returns .
+
+
+ true if attached; otherwise, false.
+
+
+
+ Returns .
+
+
+
+
+
+ Gets a value indicating whether this handler supports validation of tokens
+ handled by this instance.
+ v
+ 'True' if the instance is capable of SecurityToken
+ validation.
+
+
+
+ Gets a value indicating whether the class provides serialization functionality to serialize token handled
+ by this instance.
+
+ true if the WriteToken method can serialize this token.
+
+
+
+ This must be overridden to get the System.Type of the SecurityToken this instance handles.
+
+
+
+
+ Indicates whether the is positioned at an element that can be read.
+
+ An reader positioned at a start element. The reader should not be advanced.
+ 'true' if the token can be read.
+
+
+
+ Indicates whether the current token string can be read as a token
+ of the type handled by this instance.
+
+ The token string thats needs to be read.
+ 'True' if the ReadToken method can parse the token string.
+
+
+
+ Gets security token.
+
+ .
+ SecurityToken instance which represents the serialized token.
+
+
+
+ Serializes to string a token of the type handled by this instance.
+
+ A token of type TokenType.
+ The serialized token.
+
+
+
+ This must be overridden to serialize to XML a token of the type handled by this instance.
+
+ The XML writer.
+ A token of type .
+
+
+
+ This must be overridden to deserialize token with the provided .
+
+ .
+ the current .
+ SecurityToken instance which represents the serialized token.
+
+
+
+ This must be overridden to validate a token passed as a string using
+
+ A token of type .
+ the current .
+ The token of type that was validated.
+
+
+
+ Reads and validates a token using a xmlReader and
+
+ A pointing at the start element of the token.
+ Contains data and information needed for validation.
+ The that was validated.
+
+
+
+ Provides signature services, signing and verifying.
+
+
+
+
+ Maintains the number of external references
+ see: , ,
+
+
+
+
+ Initializes a new instance of the class used to create and verify signatures.
+
+ The that will be used for signature operations.
+ The signature algorithm to apply.
+ is null.
+ is null or empty.
+
+
+
+ Gets the signature algorithm.
+
+
+
+
+ Gets or sets a user context for a .
+
+ This is null by default. This is for use by the application and not used by this SDK.
+
+
+
+ Gets or sets the that is associated with this
+
+
+
+
+ Calls and
+
+
+
+
+ Can be over written in descendants to dispose of internal components.
+
+ true, if called from Dispose(), false, if invoked inside a finalizer
+
+
+
+ Gets the .
+
+
+
+
+ For testing purposes
+
+
+
+
+ This must be overridden to produce a signature over the 'input'.
+
+ bytes to sign.
+ signed bytes
+
+
+ Verifies that the over using the
+ and specified by this
+ are consistent.
+ the bytes that were signed.
+ signature to compare against.
+ true if the computed signature matches the signature parameter, false otherwise.
+
+
+
+ Gets or sets a bool indicating if this is expected to create signatures.
+
+
+
+
+ Defines the , algorithm and digest for digital signatures.
+
+
+
+
+ Initializes a new instance of the class.
+
+ that will be used for signing.
+ Algorithm will be set to .
+ the 'digest method' if needed may be implied from the algorithm. For example implies Sha256.
+ if 'key' is null.
+ if 'algorithm' is null or empty.
+
+
+
+ Initializes a new instance of the class.
+
+ that will be used for signing.
+ The signature algorithm to apply.
+ the 'digest method' if needed may be implied from the algorithm. For example implies Sha256.
+ if 'certificate' is null.
+ if 'algorithm' is null or empty.
+
+
+
+ Initializes a new instance of the class.
+
+ .
+ The signature algorithm to apply.
+ the 'digest method' if needed may be implied from the algorithm. For example implies Sha256.
+ if 'key' is null.
+ if 'algorithm' is null or empty.
+
+
+
+ Initializes a new instance of the class.
+
+ .
+ The signature algorithm to apply.
+ The digest algorithm to apply.
+ if 'key' is null.
+ if 'algorithm' is null or empty.
+ if 'digest' is null or empty.
+
+
+
+ Gets the signature algorithm.
+
+ if 'value' is null or empty.
+
+
+
+ Gets the digest algorithm.
+
+
+
+
+ Users can override the default with this property. This factory will be used for creating signature providers.
+
+ This will have precedence over
+
+
+
+ Gets the used for signature creation or validation.
+
+
+
+
+ Gets the key id associated with .
+
+
+
+
+ Defines the default set of algorithms this library supports
+
+
+
+
+ Creating a Signature requires the use of a .
+ This method returns the
+ that describes the to use when generating a Signature.
+
+ The SignatureAlgorithm in use.
+ The to use.
+ if is null or whitespace.
+ if is not supported.
+
+
+
+ Creating a Signature requires the use of a .
+ This method returns the HashAlgorithm string that is associated with a SignatureAlgorithm.
+
+ The SignatureAlgorithm of interest.
+ if is null or whitespace.
+ if is not supported.
+
+
+
+ Checks if an 'algorithm, key' pair is supported.
+
+ the algorithm to check.
+ the .
+ true if 'algorithm, key' pair is supported.
+
+
+
+ Represents a symmetric security key.
+
+
+
+
+ Returns a new instance of instance.
+
+ The byte array of the key.
+
+
+
+ Gets the key size.
+
+
+
+
+ Gets the byte array of the key.
+
+
+
+
+ Determines whether the can compute a JWK thumbprint.
+
+ true if JWK thumbprint can be computed; otherwise, false.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Computes a sha256 hash over the .
+
+ A JWK thumbprint.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Provides signing and verifying operations using a and specifying an algorithm.
+
+
+
+
+ This is the minimum .KeySize when creating and verifying signatures.
+
+
+
+
+ Initializes a new instance of the class that uses an to create and / or verify signatures over a array of bytes.
+
+ The that will be used for signature operations.
+ The signature algorithm to use.
+ 'key' is null.
+ 'algorithm' is null or empty.
+ If and algorithm pair are not supported.
+ '.KeySize' is smaller than .
+
+
+
+ Initializes a new instance of the class that uses an to create and / or verify signatures over a array of bytes.
+
+ The that will be used for signature operations.
+ The signature algorithm to use.
+ indicates if this will be used to create signatures.
+ 'key' is null.
+ 'algorithm' is null or empty.
+ If and algorithm pair are not supported.
+ '.KeySize' is smaller than .
+
+
+
+ Gets or sets the minimum .KeySize"/>.
+
+ 'value' is smaller than .
+
+
+
+ Called to obtain the byte[] needed to create a
+
+ that will be used to obtain the byte[].
+ [] that is used to populated the KeyedHashAlgorithm.
+ if key is null.
+ if a byte[] can not be obtained from SecurityKey.
+ and are supported.
+ For a .Key is returned
+ For a Base64UrlEncoder.DecodeBytes is called with if == JsonWebAlgorithmsKeyTypes.Octet
+
+
+
+
+ Returns a .
+ This method is called just before a cryptographic operation.
+ This provides the opportunity to obtain the from an object pool.
+ If this method is overridden, it is importont to override
+ if custom releasing of the is desired.
+
+ The hash algorithm to use to create the hash value.
+ The byte array of the key.
+ An instance of
+
+
+
+ For testing purposes
+
+
+
+
+ This method is called just after the cryptographic operation.
+ If was overridden this method can be overridden for
+ any custom handling such as returning the to an object pool.
+
+ The " in use.
+
+
+
+ Produces a signature over the 'input' using the and 'algorithm' passed to .
+
+ The bytes to sign.
+ Signed bytes
+ 'input' is null.
+ 'input.Length' == 0.
+ has been called.
+ is null. This can occur if a derived type deletes it or does not create it.
+ Sign is thread safe.
+
+
+
+ Verifies that a signature created over the 'input' matches the signature. Using and 'algorithm' passed to .
+
+ The bytes to verify.
+ signature to compare against.
+ true if computed signature matches the signature parameter, false otherwise.
+ 'input' is null.
+ 'signature' is null.
+ 'input.Length' == 0.
+ 'signature.Length' == 0.
+ has been called.
+ If the internal is null. This can occur if a derived type deletes it or does not create it.
+ Verify is thread safe.
+
+
+
+ Verifies that a signature created over the 'input' matches the signature. Using and 'algorithm' passed to .
+
+ The bytes to verify.
+ signature to compare against.
+ number of bytes of signature to use.
+ true if computed signature matches the signature parameter, false otherwise.
+ 'input' is null.
+ 'signature' is null.
+ 'input.Length' == 0.
+ 'signature.Length' == 0.
+ 'length < 1'
+ has been called.
+ If the internal is null. This can occur if a derived type deletes it or does not create it.
+
+
+
+ Disposes of internal components.
+
+ true, if called from Dispose(), false, if invoked inside a finalizer.
+
+
+
+ An opaque context used to store work when working with authentication artifacts.
+
+
+
+
+ Instantiates a new with a default activity ID.
+
+
+
+
+ Instantiates a new with an activity ID.
+
+
+
+
+ Defines properties shared across all security token handlers.
+
+
+
+
+ Default lifetime of tokens created. When creating tokens, if 'expires' and 'notbefore' are both null,
+ then a default will be set to: expires = DateTime.UtcNow, notbefore = DateTime.UtcNow + TimeSpan.FromMinutes(TokenLifetimeInMinutes).
+
+
+
+
+ Gets and sets the maximum token size in bytes that will be processed.
+
+ 'value' less than 1.
+
+
+
+ Gets or sets a bool that controls if token creation will set default 'exp', 'nbf' and 'iat' if not specified.
+
+ See: for configuration.
+
+
+
+ Gets or sets the token lifetime in minutes.
+
+ Used during token creation to set the default expiration ('exp').
+ 'value' less than 1.
+
+
+
+ Validates a token.
+ On a validation failure, no exception will be thrown; instead, the exception will be set in the returned TokenValidationResult.Exception property.
+ Callers should always check the TokenValidationResult.IsValid property to verify the validity of the result.
+
+ The token to be validated.
+ A required for validation.
+ A
+
+
+
+ Converts a string into an instance of .
+
+ The string to be deserialized.
+ is null or empty.
+ 'token.Length' is greater than .
+ A .
+
+
+
+ A class which contains useful methods for processing tokens.
+
+
+
+
+ A URI that represents the JSON XML data type.
+
+ When mapping json to .Net Claim(s), if the value was not a string (or an enumeration of strings), the ClaimValue will serialized using the current JSON serializer, a property will be added with the .Net type and the ClaimTypeValue will be set to 'JsonClaimValueType'.
+
+
+
+ A URI that represents the JSON array XML data type.
+
+ When mapping json to .Net Claim(s), if the value was not a string (or an enumeration of strings), the ClaimValue will serialized using the current JSON serializer, a property will be added with the .Net type and the ClaimTypeValue will be set to 'JsonClaimValueType'.
+
+
+
+ A URI that represents the JSON null data type
+
+ When mapping json to .Net Claim(s), we use empty string to represent the claim value and set the ClaimValueType to JsonNull
+
+
+
+ Creates a dictionary from a list of Claim's.
+
+ A list of claims.
+ A Dictionary representing claims.
+
+
+
+ Returns all provided in validationParameters.
+
+ A required for validation.
+ Returns all provided in validationParameters.
+
+
+
+ Returns all provided in .
+
+ The that contains signing keys used for validation.
+ Returns all provided in provided in .
+
+
+
+ Returns all provided in and .
+
+ The that contains signing keys used for validation.
+ A required for validation.
+ Returns all provided in provided in and .
+
+
+
+ Merges claims. If a claim with same type exists in both and , the one in claims will be kept.
+
+ Collection of 's.
+ Collection of 's.
+ A Merged list of 's.
+
+
+
+ Check whether the given exception type is recoverable by LKG.
+
+ The exception to check.
+ true if the exception is certain types of exceptions otherwise, false.
+
+
+
+ Check whether the given configuration is recoverable by LKG.
+
+ The to be used for validation.
+ The to check.
+ The updated .
+ true if the configuration is recoverable otherwise, false.
+
+
+
+ Definition for AlgorithmValidator
+
+ The algorithm to validate.
+ The that signed the .
+ The being validated.
+ required for validation.
+ true if the algorithm is considered valid
+
+
+
+ Definition for AudienceValidator.
+
+ The audiences found in the .
+ The being validated.
+ required for validation.
+ true if the audience is considered valid.
+
+
+
+ Definition for IssuerSigningKeyResolver.
+
+ The representation of the token that is being validated.
+ The that is being validated. It may be null.
+ A key identifier. It may be null.
+ required for validation.
+ A to use when validating a signature.
+ If both and are set, IssuerSigningKeyResolverUsingConfiguration takes
+ priority.
+
+
+
+ Definition for IssuerSigningKeyResolverUsingConfiguration.
+
+ The representation of the token that is being validated.
+ The that is being validated. It may be null.
+ A key identifier. It may be null.
+ required for validation.
+ required for validation.
+ A to use when validating a signature.
+ If both and are set, IssuerSigningKeyResolverUsingConfiguration takes
+ priority.
+
+
+
+ Definition for IssuerSigningKeyValidator.
+
+ The that signed the .
+ The being validated.
+ required for validation.
+ If both and are set, IssuerSigningKeyResolverUsingConfiguration takes
+ priority.
+
+
+
+ Definition for IssuerSigningKeyValidatorUsingConfiguration.
+
+ The that signed the .
+ The being validated.
+ required for validation.
+ required for validation.
+ If both and are set, IssuerSigningKeyResolverUsingConfiguration takes
+ priority.
+
+
+
+ Definition for IssuerValidator.
+
+ The issuer to validate.
+ The that is being validated.
+ required for validation.
+ The issuer to use when creating the "Claim"(s) in a "ClaimsIdentity".
+ The delegate should return a non null string that represents the 'issuer'. If null a default value will be used.
+ If both and are set, IssuerValidatorUsingConfiguration takes
+ priority.
+
+
+
+ Definition for IssuerValidatorUsingConfiguration.
+
+ The issuer to validate.
+ The that is being validated.
+ required for validation.
+ required for validation.
+ The issuer to use when creating the "Claim"(s) in a "ClaimsIdentity".
+ The delegate should return a non null string that represents the 'issuer'. If null a default value will be used.
+ If both and are set, IssuerValidatorUsingConfiguration takes
+ priority.
+
+
+
+
+ Definition for LifetimeValidator.
+
+ The 'notBefore' time found in the .
+ The 'expiration' time found in the .
+ The being validated.
+ required for validation.
+
+
+
+ Definition for TokenReplayValidator.
+
+ The 'expiration' time found in the .
+ The being validated.
+ required for validation.
+
+
+
+
+ Definition for SignatureValidator.
+
+ A securityToken with a signature.
+ required for validation.
+
+
+
+ Definition for SignatureValidator.
+
+ A securityToken with a signature.
+ required for validation.
+ The that is required for validation.
+
+
+
+ Definition for TokenReader.
+
+ A securityToken with a signature.
+ required for validation.
+
+
+
+ Definition for TokenDecryptionKeyResolver.
+
+ The representation of the token to be decrypted.
+ The to be decrypted. The runtime by default passes null.
+ A key identifier. It may be null.
+ required for validation.
+ A to use when decrypting the token.
+
+
+
+ Definition for TypeValidator.
+
+ The token type to validate.
+ The that is being validated.
+ required for validation.
+ The actual token type, that may be the same as or a different value if the token type was resolved from a different location.
+
+
+
+ Contains a set of parameters that are used by a when validating a .
+
+
+
+
+ This is the fallback authenticationtype that a will use if nothing is set.
+ The value is "AuthenticationTypes.Federation".
+
+
+
+
+ Default for the clock skew.
+
+ 300 seconds (5 minutes).
+
+
+
+ Default for the maximm token size.
+
+ 250 KB (kilobytes).
+
+
+
+ Copy constructor for .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets .
+
+
+
+
+ Gets or sets a delegate used to validate the cryptographic algorithm used.
+
+
+ If set, this delegate will validate the cryptographic algorithm used and
+ the algorithm will not be checked against .
+
+
+
+
+ Gets or sets a delegate that will be used to validate the audience.
+
+
+ If set, this delegate will be called to validate the 'audience', instead of default processing.
+ This means that no default 'audience' validation will occur.
+ Even if is false, this delegate will still be called.
+
+
+
+
+ Gets or sets the AuthenticationType when creating a .
+
+ If 'value' is null or whitespace.
+
+
+
+ Gets or sets the clock skew to apply when validating a time.
+
+ If 'value' is less than 0.
+ The default is 300 seconds (5 minutes).
+
+
+
+ Returns a new instance of with values copied from this object.
+
+ A new object copied from this object
+ This is a shallow Clone.
+
+
+
+ Creates a using:
+
+ 'NameClaimType': If NameClaimTypeRetriever is set, call delegate, else call NameClaimType. If the result is a null or empty string, use .
+ 'RoleClaimType': If RoleClaimTypeRetriever is set, call delegate, else call RoleClaimType. If the result is a null or empty string, use .
+
+ A with Authentication, NameClaimType and RoleClaimType set.
+
+
+
+ If set, this property will be used to obtain the issuer and signing keys associated with the metadata endpoint of .
+ The obtained issuer and signing keys will then be used along with those present on the TokenValidationParameters for validation of the incoming token.
+
+
+
+
+ Users can override the default with this property. This factory will be used for creating signature providers.
+
+
+
+
+ Gets or sets a boolean that controls if a '/' is significant at the end of the audience.
+ The default is true.
+
+
+
+
+ Gets or sets a delegate for validating the that signed the token.
+
+
+ If set, this delegate will be called to validate the that signed the token, instead of default processing.
+ This means that no default validation will occur.
+ Even if is false, this delegate will still be called.
+ If both and are set, IssuerSigningKeyResolverUsingConfiguration takes
+ priority.
+
+
+
+
+ Gets or sets a delegate for validating the that signed the token.
+
+
+ If set, this delegate will be called to validate the that signed the token, instead of default processing.
+ This means that no default validation will occur.
+ Even if is false, this delegate will still be called.
+ This delegate should be used if properties from the configuration retrieved from the authority are necessary to validate the
+ issuer signing key.
+ If both and are set, IssuerSigningKeyValidatorUsingConfiguration takes
+ priority.
+
+
+
+
+ Gets or sets the that is to be used for signature validation.
+
+
+
+
+ Gets or sets a delegate that will be called to retrieve a used for signature validation.
+
+
+ This will be used to check the signature. This can be helpful when the does not contain a key identifier.
+ If both and are set, IssuerSigningKeyResolverUsingConfiguration takes
+ priority.
+
+
+
+
+ Gets or sets a delegate that will be called to retrieve a used for signature validation using the
+ and .
+
+
+ This will be used to check the signature. This can be helpful when the does not contain a key identifier.
+ This delegate should be used if properties from the configuration retrieved from the authority are necessary to resolve the
+ issuer signing key.
+ If both and are set, IssuerSigningKeyResolverUsingConfiguration takes
+ priority.
+
+
+
+
+ Gets or sets an used for signature validation.
+
+
+
+
+ Gets or sets a delegate that will be used to validate the issuer of the token.
+
+
+ If set, this delegate will be called to validate the 'issuer' of the token, instead of default processing.
+ This means that no default 'issuer' validation will occur.
+ Even if is false, this delegate will still be called.
+ If both and are set, IssuerValidatorUsingConfiguration takes
+ priority.
+
+
+
+
+ Gets or sets a delegate that will be used to validate the issuer of the token.
+
+
+ If set, this delegate will be called to validate the 'issuer' of the token, instead of default processing.
+ This means that no default 'issuer' validation will occur.
+ Even if is false, this delegate will still be called.
+ This delegate should be used if properties from the configuration retrieved from the authority are necessary to validate the issuer.
+ If both and are set, IssuerValidatorUsingConfiguration takes
+ priority.
+
+
+
+
+ Gets or sets a delegate that will be used to validate the lifetime of the token
+
+
+ If set, this delegate will be called to validate the lifetime of the token, instead of default processing.
+ This means that no default lifetime validation will occur.
+ Even if is false, this delegate will still be called.
+
+
+
+
+ Gets or sets a that defines the .
+
+
+ Controls the value returns. It will return the first where the equals .
+ The default is .
+
+
+
+
+ Gets or sets a delegate that will be called to obtain the NameClaimType to use when creating a ClaimsIdentity
+ after validating a token.
+
+
+
+
+ Gets or sets the that contains a collection of custom key/value pairs. This allows addition of parameters that could be used in custom token validation scenarios.
+
+
+
+
+ Gets or sets a boolean to control if configuration required to be refreshed before token validation.
+
+
+ The default is false.
+
+
+
+
+ Gets or sets a value indicating whether SAML tokens must have at least one AudienceRestriction.
+ The default is true.
+
+
+
+
+ Gets or sets a value indicating whether tokens must have an 'expiration' value.
+ The default is true.
+
+
+
+
+ Gets or sets a value indicating whether a can be considered valid if not signed.
+ The default is true.
+
+
+
+
+ Gets or sets the that defines the .
+
+
+ Controls the results of .
+ Each where == will be checked for a match against the 'string' passed to .
+ The default is .
+
+
+
+
+ Gets or sets a delegate that will be called to obtain the RoleClaimType to use when creating a ClaimsIdentity
+ after validating a token.
+
+
+
+
+ Gets or sets a boolean to control if the original token should be saved after the security token is validated.
+
+ The runtime will consult this value and save the original token that was validated.
+ The default is false.
+
+
+
+
+ Gets or sets a delegate that will be used to validate the signature of the token.
+
+
+ If set, this delegate will be called to signature of the token, instead of default processing.
+
+
+
+
+ Gets or sets a delegate that will be used to validate the signature of the token using the and
+ the .
+
+
+ If set, this delegate will be called to signature of the token, instead of default processing.
+
+
+
+
+ Gets or sets the that is to be used for decryption.
+
+
+
+
+ Gets or sets a delegate that will be called to retreive a used for decryption.
+
+
+ This will be used to decrypt the token. This can be helpful when the does not contain a key identifier.
+
+
+
+
+ Gets or sets the that is to be used for decrypting inbound tokens.
+
+
+
+
+ Gets or sets a delegate that will be used to read the token.
+
+
+ If set, this delegate will be called to read the token instead of default processing.
+
+
+
+
+ Gets or set the that store tokens that can be checked to help detect token replay.
+
+ If set, then tokens must have an expiration time or the runtime will fault.
+
+
+
+ Gets or sets a delegate that will be used to validate the token replay of the token
+
+
+ If set, this delegate will be called to validate the token replay of the token, instead of default processing.
+ This means no default token replay validation will occur.
+ Even if is false, this delegate will still be called.
+
+
+
+
+ Gets or sets a value indicating whether all should be tried during signature validation when a key is not matched to token kid or if token kid is empty.
+ The default is true.
+
+
+
+
+ Gets or sets a delegate that will be used to validate the type of the token.
+ If the token type cannot be validated, an exception MUST be thrown by the delegate.
+ Note: the 'type' parameter may be null if it couldn't be extracted from its usual location.
+ Implementations that need to resolve it from a different location can use the 'token' parameter.
+
+
+ If set, this delegate will be called to validate the 'type' of the token, instead of default processing.
+ This means that no default 'type' validation will occur.
+
+
+
+
+ Gets or sets a value indicating if an actor token is detected, whether it should be validated.
+ The default is false.
+
+
+
+
+ Gets or sets a boolean to control if the audience will be validated during token validation.
+
+ Validation of the audience, mitigates forwarding attacks. For example, a site that receives a token, could not replay it to another side.
+ A forwarded token would contain the audience of the original site.
+ This boolean only applies to default audience validation. If is set, it will be called regardless of whether this
+ property is true or false.
+ The default is true.
+
+
+
+
+ Gets or sets a boolean to control if the issuer will be validated during token validation.
+
+
+ Validation of the issuer mitigates forwarding attacks that can occur when an
+ IdentityProvider represents multiple tenants and signs tokens with the same keys.
+ It is possible that a token issued for the same audience could be from a different tenant. For example an application could accept users from
+ contoso.onmicrosoft.com but not fabrikam.onmicrosoft.com, both valid tenants. An application that accepts tokens from fabrikam could forward them
+ to the application that accepts tokens for contoso.
+ This boolean only applies to default issuer validation. If is set, it will be called regardless of whether this
+ property is true or false.
+ The default is true.
+
+
+
+
+ Gets or sets a boolean to control if the LKG configuration will be used for token validation.
+
+
+ The default is false.
+
+
+
+
+ Gets or sets a boolean that controls if validation of the that signed the securityToken is called.
+
+ It is possible for tokens to contain the public key needed to check the signature. For example, X509Data can be hydrated into an X509Certificate,
+ which can be used to validate the signature. In these cases it is important to validate the SigningKey that was used to validate the signature.
+ This boolean only applies to default signing key validation. If is set, it will be called regardless of whether this
+ property is true or false.
+ The default is false.
+
+
+
+
+ Gets or sets a boolean to control if the lifetime will be validated during token validation.
+
+
+ This boolean only applies to default lifetime validation. If is set, it will be called regardless of whether this
+ property is true or false.
+ The default is true.
+
+
+
+
+ Gets or sets a boolean that controls if the the vaidation order of the payload and signature during token validation.
+
+ If is set to ture, it will validate payload ahead of signature .
+ The default is false.
+
+
+
+
+ Gets or sets a boolean to control if the token replay will be validated during token validation.
+
+
+ This boolean only applies to default token replay validation. If is set, it will be called regardless of whether this
+ property is true or false.
+ The default is false.
+
+
+
+
+ Gets or sets the valid algorithms for cryptographic operations.
+
+
+ If set to a non-empty collection, only the algorithms listed will be considered valid.
+ The default is null.
+
+
+
+
+ Gets or sets a string that represents a valid audience that will be used to check against the token's audience.
+ The default is null.
+
+
+
+
+ Gets or sets the that contains valid audiences that will be used to check against the token's audience.
+ The default is null.
+
+
+
+
+ Gets or sets a that represents a valid issuer that will be used to check against the token's issuer.
+ The default is null.
+
+
+
+
+ Gets or sets the that contains valid issuers that will be used to check against the token's issuer.
+ The default is null.
+
+
+
+
+ Gets or sets the that contains valid types that will be used to check against the JWT header's 'typ' claim.
+ If this property is not set, the 'typ' header claim will not be validated and all types will be accepted.
+ In the case of a JWE, this property will ONLY apply to the inner token header.
+ The default is null.
+
+
+
+
+ Contains artifacts obtained when a SecurityToken is validated.
+
+
+
+
+ The created from the validated security token.
+
+
+
+
+ The created from the validated security token.
+
+
+
+
+ Gets or sets the that occurred during validation.
+
+
+
+
+ Gets or sets the issuer that was found in the token.
+
+
+
+
+ True if the token was successfully validated, false otherwise.
+
+
+
+
+ Gets or sets the that contains a collection of custom key/value pairs. This allows addition of data that could be used in custom scenarios. This uses for case-sensitive comparison of keys.
+
+
+
+
+ Gets or sets the that was validated.
+
+
+
+
+ Gets or sets the that contains call information.
+
+
+
+
+ Gets or sets the token type of the that was validated.
+ When a is registered,
+ the type returned by the delegate is used to populate this property.
+ Otherwise, the type is resolved from the token itself, if available
+ (e.g for a JSON Web Token, from the "typ" header).
+
+
+
+
+ Generates unique IDs.
+
+
+
+
+ Creates a unique ID suitable for use in an xml:id field. The value is
+ not hard to guess but is unique.
+
+ The unique ID.
+
+
+
+ Creates a unique ID similar to that created by CreateNonRandomId,
+ but instead of an underscore, the supplied prefix is used.
+
+ The prefix to use.
+ The unique ID, with the given prefix.
+
+
+
+ Creates a unique, random ID suitable for use in an xml:id field. The
+ value is hard to guess and unique.
+
+ The unique ID.
+
+
+
+ Creates a unique, random ID similar to that created by CreateRandomId,
+ but instead of an underscore, the supplied prefix is used.
+
+ The prefix to use.
+ The random URI.
+
+
+
+ Creates a unique, random ID suitable for use as a URI. The value is
+ hard to guess and unique. The URI is in the urn:uuid: namespace.
+
+ The random URI.
+
+
+
+ Contains some utility methods.
+
+
+
+
+ A string with "empty" value.
+
+
+
+
+ A string with "null" value.
+
+
+
+
+ Creates a copy of the byte array.
+
+ The resource array.
+ A copy of the byte array.
+
+
+
+ Serializes the list of strings into string as follows:
+ 'str1','str2','str3' ...
+
+
+ The strings used to build a comma delimited string.
+
+
+ The single .
+
+
+
+
+ Returns whether the input string is https.
+
+ The input string.
+ true if the input string is https; otherwise, false.
+
+
+
+ Returns whether the input uri is https.
+
+ .
+ true if the input uri is https; otherwise, false.
+
+
+
+ Compares two byte arrays for equality. Hash size is fixed normally it is 32 bytes.
+ The attempt here is to take the same time if an attacker shortens the signature OR changes some of the signed contents.
+
+
+ One set of bytes to compare.
+
+
+ The other set of bytes to compare with.
+
+
+ true if the bytes are equal, false otherwise.
+
+
+
+
+ Compares two byte arrays for equality. Hash size is fixed normally it is 32 bytes.
+ The attempt here is to take the same time if an attacker shortens the signature OR changes some of the signed contents.
+
+
+ One set of bytes to compare.
+
+
+ The other set of bytes to compare with.
+
+ length of array to check
+
+ true if the bytes are equal, false otherwise.
+
+
+
+
+ AudienceValidator
+
+
+
+
+ Validates if a given algorithm for a is valid.
+
+ The algorithm to be validated.
+ The that signed the .
+ The being validated.
+ required for validation.
+
+
+
+ Determines if the audiences found in a are valid.
+
+ The audiences found in the .
+ The being validated.
+ required for validation.
+ If 'vaidationParameters' is null.
+ If 'audiences' is null and is true.
+ If is null or whitespace and is null.
+ If none of the 'audiences' matched either or one of .
+ An EXACT match is required.
+
+
+
+ Determines if an issuer found in a is valid.
+
+ The issuer to validate
+ The that is being validated.
+ required for validation.
+ The issuer to use when creating the "Claim"(s) in a "ClaimsIdentity".
+ If 'vaidationParameters' is null.
+ If 'issuer' is null or whitespace and is true.
+ If is null or whitespace and is null.
+ If 'issuer' failed to matched either or one of .
+ An EXACT match is required.
+
+
+
+ Determines if an issuer found in a is valid.
+
+ The issuer to validate
+ The that is being validated.
+ required for validation.
+ The required for issuer and signing key validation.
+ The issuer to use when creating the "Claim"(s) in a "ClaimsIdentity".
+ If 'vaidationParameters' is null.
+ If 'issuer' is null or whitespace and is true.
+ If ' configuration' is null.
+ If is null or whitespace and is null and is null.
+ If 'issuer' failed to matched either or one of or .
+ An EXACT match is required.
+
+
+
+ Validates the that signed a .
+
+ The that signed the .
+ The being validated.
+ required for validation.
+ if 'securityKey' is null and ValidateIssuerSigningKey is true.
+ if 'securityToken' is null and ValidateIssuerSigningKey is true.
+ if 'vaidationParameters' is null.
+
+
+
+ Validates the that signed a .
+
+ The that signed the .
+ The being validated.
+ required for validation.
+ The required for issuer and signing key validation.
+ if 'securityKey' is null and ValidateIssuerSigningKey is true.
+ if 'securityToken' is null and ValidateIssuerSigningKey is true.
+ if 'validationParameters' is null.
+
+
+
+ Validates the lifetime of a .
+
+ The 'notBefore' time found in the .
+ The 'expiration' time found in the .
+ The being validated.
+ required for validation.
+ If 'vaidationParameters' is null.
+ If 'expires.HasValue' is false and is true.
+ If 'notBefore' is > 'expires'.
+ If 'notBefore' is > DateTime.UtcNow.
+ If 'expires' is < DateTime.UtcNow.
+ All time comparisons apply .
+
+
+
+ Validates if a token has been replayed.
+
+ When does the security token expire.
+ The being validated.
+ required for validation.
+ If 'securityToken' is null or whitespace.
+ If 'validationParameters' is null or whitespace.
+ If is not null and expirationTime.HasValue is false. When a TokenReplayCache is set, tokens require an expiration time.
+ If the 'securityToken' is found in the cache.
+ If the 'securityToken' could not be added to the .
+
+
+
+ Validates if a token has been replayed.
+
+ The being validated.
+ When does the security token expire.
+ required for validation.
+ If 'securityToken' is null or whitespace.
+ If 'validationParameters' is null or whitespace.
+ If is not null and expirationTime.HasValue is false. When a TokenReplayCache is set, tokens require an expiration time.
+ If the 'securityToken' is found in the cache.
+ If the 'securityToken' could not be added to the .
+
+
+
+ Validates the type of the token.
+
+ The token type or null if it couldn't be resolved (e.g from the 'typ' header for a JWT).
+ The that is being validated.
+ required for validation.
+ If is null.
+ If is null.
+ If is null or whitespace and is not null.
+ If failed to match .
+ An EXACT match is required. (case sensitive) is used for comparing against .
+ The actual token type, that may be the same as or a different value if the token type was resolved from a different location.
+
+
+
+ An designed to construct based on a x509 certificate.
+
+
+
+
+ Designed to construct based on a x509 certificate.
+
+ A
+
+ will be used as the key wrap algorithm
+ will be used as the data encryption algorithm
+
+ if 'certificate' is null.
+
+
+
+ Designed to construct based on the x509 certificate, a key wrap algorithm, and data encryption algorithm.
+
+ A
+ A key wrap algorithm
+ Data encryption algorithm
+ if 'certificate' is null.
+ if 'keyWrapAlgorithm' is null or empty.
+ if 'dataEncryptionAlgorithm' is null or empty.
+
+
+
+ Gets the used by this instance.
+
+
+
+
+ An that is backed by a
+
+
+
+
+ Instantiates a using a
+
+ The to use.
+ if is null.
+
+
+
+ Instantiates a using a .
+
+ The to use.
+ The value to set for the KeyId
+ if is null.
+ if is null or empty.
+
+
+
+ Gets the key size.
+
+
+
+
+ Gets the X5t of this .
+
+
+
+
+ Returns the private key from the .
+
+
+
+
+ Gets the public key from the .
+
+
+
+
+ Gets a bool indicating if a private key exists.
+
+ true if it has a private key; otherwise, false.
+
+
+
+ Gets an enum indicating if a private key exists.
+
+ 'Exists' if private key exists for sure; 'DoesNotExist' if private key doesn't exist for sure; 'Unknown' if we cannot determine.
+
+
+
+ Gets the .
+
+
+
+
+ Determines whether the can compute a JWK thumbprint.
+
+ true if JWK thumbprint can be computed; otherwise, false.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Computes a sha256 hash over the .
+
+ A JWK thumbprint.
+ https://datatracker.ietf.org/doc/html/rfc7638
+
+
+
+ Returns a bool indicating if this key is equivalent to another key.
+
+ true if the keys are equal; otherwise, false.
+
+
+
+ Returns an int hash code.
+
+ An int hash code
+
+
+
+ Defines the , algorithm and digest for digital signatures.
+
+
+
+
+ Initializes a new instance of the class.
+
+ that will be used for signing.
+ Algorithm will be set to .
+ the 'digest method' if needed may be implied from the algorithm. For example implies Sha256.
+ if 'certificate' is null.
+
+
+
+ Initializes a new instance of the class.
+
+ A that will be used for signing.
+ The signature algorithm to apply.
+ the 'digest method' if needed may be implied from the algorithm. For example implies Sha256.
+ if 'certificate' is null.
+ if 'algorithm' is null or empty.
+
+
+
+ Gets the used by this instance.
+
+
+
+
+ Represents a BSON Oid (object id).
+
+
+
+
+ Gets or sets the value of the Oid.
+
+ The value of the Oid.
+
+
+
+ Initializes a new instance of the class.
+
+ The Oid value.
+
+
+
+ Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data.
+
+
+
+
+ Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary.
+
+
+ true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether the root object will be read as a JSON array.
+
+
+ true if the root object will be read as a JSON array; otherwise, false.
+
+
+
+
+ Gets or sets the used when reading values from BSON.
+
+ The used when reading values from BSON.
+
+
+
+ Initializes a new instance of the class.
+
+ The containing the BSON data to read.
+
+
+
+ Initializes a new instance of the class.
+
+ The containing the BSON data to read.
+
+
+
+ Initializes a new instance of the class.
+
+ The containing the BSON data to read.
+ if set to true the root object will be read as a JSON array.
+ The used when reading values from BSON.
+
+
+
+ Initializes a new instance of the class.
+
+ The containing the BSON data to read.
+ if set to true the root object will be read as a JSON array.
+ The used when reading values from BSON.
+
+
+
+ Reads the next JSON token from the underlying .
+
+
+ true if the next token was read successfully; false if there are no more tokens to read.
+
+
+
+
+ Changes the reader's state to .
+ If is set to true, the underlying is also closed.
+
+
+
+
+ Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data.
+
+
+
+
+ Gets or sets the used when writing values to BSON.
+ When set to no conversion will occur.
+
+ The used when writing values to BSON.
+
+
+
+ Initializes a new instance of the class.
+
+ The to write to.
+
+
+
+ Initializes a new instance of the class.
+
+ The to write to.
+
+
+
+ Flushes whatever is in the buffer to the underlying and also flushes the underlying stream.
+
+
+
+
+ Writes the end.
+
+ The token.
+
+
+
+ Writes a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+
+
+
+ Writes the start of a constructor with the given name.
+
+ The name of the constructor.
+
+
+
+ Writes raw JSON.
+
+ The raw JSON to write.
+
+
+
+ Writes raw JSON where a value is expected and updates the writer's state.
+
+ The raw JSON to write.
+
+
+
+ Writes the beginning of a JSON array.
+
+
+
+
+ Writes the beginning of a JSON object.
+
+
+
+
+ Writes the property name of a name/value pair on a JSON object.
+
+ The name of the property.
+
+
+
+ Closes this writer.
+ If is set to true, the underlying is also closed.
+ If is set to true, the JSON is auto-completed.
+
+
+
+
+ Writes a value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ Writes a null value.
+
+
+
+
+ Writes an undefined value.
+
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a [] value.
+
+ The [] value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a [] value that represents a BSON object id.
+
+ The Object ID value to write.
+
+
+
+ Writes a BSON regex.
+
+ The regex pattern.
+ The regex options.
+
+
+
+ Specifies how constructors are used when initializing objects during deserialization by the .
+
+
+
+
+ First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor.
+
+
+
+
+ Json.NET will use a non-public default constructor before falling back to a parameterized constructor.
+
+
+
+
+ Converts a binary value to and from a base 64 string value.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts a to and from JSON and BSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Creates a custom object.
+
+ The object type to convert.
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Creates an object which will then be populated by the serializer.
+
+ Type of the object.
+ The created object.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this can write JSON.
+
+
+ true if this can write JSON; otherwise, false.
+
+
+
+
+ Converts a to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified value type.
+
+ Type of the value.
+
+ true if this instance can convert the specified value type; otherwise, false.
+
+
+
+
+ Converts a to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified value type.
+
+ Type of the value.
+
+ true if this instance can convert the specified value type; otherwise, false.
+
+
+
+
+ Provides a base class for converting a to and from JSON.
+
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts a F# discriminated union type to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts an Entity Framework to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts an to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this can write JSON.
+
+
+ true if this can write JSON; otherwise, false.
+
+
+
+
+ Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z").
+
+
+
+
+ Gets or sets the date time styles used when converting a date to and from JSON.
+
+ The date time styles used when converting a date to and from JSON.
+
+
+
+ Gets or sets the date time format used when converting a date to and from JSON.
+
+ The date time format used when converting a date to and from JSON.
+
+
+
+ Gets or sets the culture used when converting a date to and from JSON.
+
+ The culture used when converting a date to and from JSON.
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)).
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing property value of the JSON that is being converted.
+ The calling serializer.
+ The object value.
+
+
+
+ Converts a to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts a to and from JSON and BSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts an to and from its name string value.
+
+
+
+
+ Gets or sets a value indicating whether the written enum text should be camel case.
+ The default value is false.
+
+ true if the written enum text will be camel case; otherwise, false.
+
+
+
+ Gets or sets the naming strategy used to resolve how enum text is written.
+
+ The naming strategy used to resolve how enum text is written.
+
+
+
+ Gets or sets a value indicating whether integer values are allowed when serializing and deserializing.
+ The default value is true.
+
+ true if integers are allowed when serializing and deserializing; otherwise, false.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ true if the written enum text will be camel case; otherwise, false.
+
+
+
+ Initializes a new instance of the class.
+
+ The naming strategy used to resolve how enum text is written.
+ true if integers are allowed when serializing and deserializing; otherwise, false.
+
+
+
+ Initializes a new instance of the class.
+
+ The of the used to write enum text.
+
+
+
+ Initializes a new instance of the class.
+
+ The of the used to write enum text.
+
+ The parameter list to use when constructing the described by .
+ If null, the default constructor is used.
+ When non-null, there must be a constructor defined in the that exactly matches the number,
+ order, and type of these parameters.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The of the used to write enum text.
+
+ The parameter list to use when constructing the described by .
+ If null, the default constructor is used.
+ When non-null, there must be a constructor defined in the that exactly matches the number,
+ order, and type of these parameters.
+
+ true if integers are allowed when serializing and deserializing; otherwise, false.
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts a to and from Unix epoch time
+
+
+
+
+ Gets or sets a value indicating whether the dates before Unix epoch
+ should converted to and from JSON.
+
+
+ true to allow converting dates before Unix epoch to and from JSON;
+ false to throw an exception when a date being converted to or from JSON
+ occurred before Unix epoch. The default value is false.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ true to allow converting dates before Unix epoch to and from JSON;
+ false to throw an exception when a date being converted to or from JSON
+ occurred before Unix epoch. The default value is false.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing property value of the JSON that is being converted.
+ The calling serializer.
+ The object value.
+
+
+
+ Converts a to and from a string (e.g. "1.2.3.4").
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing property value of the JSON that is being converted.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts XML to and from JSON.
+
+
+
+
+ Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements.
+
+ The name of the deserialized root element.
+
+
+
+ Gets or sets a value to indicate whether to write the Json.NET array attribute.
+ This attribute helps preserve arrays when converting the written XML back to JSON.
+
+ true if the array attribute is written to the XML; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether to write the root JSON object.
+
+ true if the JSON root object is omitted; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether to encode special characters when converting JSON to XML.
+ If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify
+ XML namespaces, attributes or processing directives. Instead special characters are encoded and written
+ as part of the XML element name.
+
+ true if special characters are encoded; otherwise, false.
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The calling serializer.
+ The value.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Checks if the is a namespace attribute.
+
+ Attribute name to test.
+ The attribute name prefix if it has one, otherwise an empty string.
+ true if attribute name is for a namespace attribute, otherwise false.
+
+
+
+ Determines whether this instance can convert the specified value type.
+
+ Type of the value.
+
+ true if this instance can convert the specified value type; otherwise, false.
+
+
+
+
+ Specifies how dates are formatted when writing JSON text.
+
+
+
+
+ Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z".
+
+
+
+
+ Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/".
+
+
+
+
+ Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text.
+
+
+
+
+ Date formatted strings are not parsed to a date type and are read as strings.
+
+
+
+
+ Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to .
+
+
+
+
+ Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to .
+
+
+
+
+ Specifies how to treat the time value when converting between string and .
+
+
+
+
+ Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time.
+
+
+
+
+ Treat as a UTC. If the object represents a local time, it is converted to a UTC.
+
+
+
+
+ Treat as a local time if a is being converted to a string.
+ If a string is being converted to , convert to a local time if a time zone is specified.
+
+
+
+
+ Time zone information should be preserved when converting.
+
+
+
+
+ The default JSON name table implementation.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets a string containing the same characters as the specified range of characters in the given array.
+
+ The character array containing the name to find.
+ The zero-based index into the array specifying the first character of the name.
+ The number of characters in the name.
+ A string containing the same characters as the specified range of characters in the given array.
+
+
+
+ Adds the specified string into name table.
+
+ The string to add.
+ This method is not thread-safe.
+ The resolved string.
+
+
+
+ Specifies default value handling options for the .
+
+
+
+
+
+
+
+
+ Include members where the member value is the same as the member's default value when serializing objects.
+ Included members are written to JSON. Has no effect when deserializing.
+
+
+
+
+ Ignore members where the member value is the same as the member's default value when serializing objects
+ so that it is not written to JSON.
+ This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers,
+ decimals and floating point numbers; and false for booleans). The default value ignored can be changed by
+ placing the on the property.
+
+
+
+
+ Members with a default value but no JSON will be set to their default value when deserializing.
+
+
+
+
+ Ignore members where the member value is the same as the member's default value when serializing objects
+ and set members to their default value when deserializing.
+
+
+
+
+ Specifies float format handling options when writing special floating point numbers, e.g. ,
+ and with .
+
+
+
+
+ Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity".
+
+
+
+
+ Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity.
+ Note that this will produce non-valid JSON.
+
+
+
+
+ Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property.
+
+
+
+
+ Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+
+
+
+
+ Floating point numbers are parsed to .
+
+
+
+
+ Floating point numbers are parsed to .
+
+
+
+
+ Specifies formatting options for the .
+
+
+
+
+ No special formatting is applied. This is the default.
+
+
+
+
+ Causes child objects to be indented according to the and settings.
+
+
+
+
+ Provides an interface for using pooled arrays.
+
+ The array type content.
+
+
+
+ Rent an array from the pool. This array must be returned when it is no longer needed.
+
+ The minimum required length of the array. The returned array may be longer.
+ The rented array from the pool. This array must be returned when it is no longer needed.
+
+
+
+ Return an array to the pool.
+
+ The array that is being returned.
+
+
+
+ Provides an interface to enable a class to return line and position information.
+
+
+
+
+ Gets a value indicating whether the class can return line information.
+
+
+ true if and can be provided; otherwise, false.
+
+
+
+
+ Gets the current line number.
+
+ The current line number or 0 if no line information is available (for example, when returns false).
+
+
+
+ Gets the current line position.
+
+ The current line position or 0 if no line information is available (for example, when returns false).
+
+
+
+ Instructs the how to serialize the collection.
+
+
+
+
+ Gets or sets a value indicating whether null items are allowed in the collection.
+
+ true if null items are allowed in the collection; otherwise, false.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with a flag indicating whether the array can contain null items.
+
+ A flag indicating whether the array can contain null items.
+
+
+
+ Initializes a new instance of the class with the specified container Id.
+
+ The container Id.
+
+
+
+ Instructs the to use the specified constructor when deserializing that object.
+
+
+
+
+ Instructs the how to serialize the object.
+
+
+
+
+ Gets or sets the id.
+
+ The id.
+
+
+
+ Gets or sets the title.
+
+ The title.
+
+
+
+ Gets or sets the description.
+
+ The description.
+
+
+
+ Gets or sets the collection's items converter.
+
+ The collection's items converter.
+
+
+
+ The parameter list to use when constructing the described by .
+ If null, the default constructor is used.
+ When non-null, there must be a constructor defined in the that exactly matches the number,
+ order, and type of these parameters.
+
+
+
+ [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
+
+
+
+
+
+ Gets or sets the of the .
+
+ The of the .
+
+
+
+ The parameter list to use when constructing the described by .
+ If null, the default constructor is used.
+ When non-null, there must be a constructor defined in the that exactly matches the number,
+ order, and type of these parameters.
+
+
+
+ [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
+
+
+
+
+
+ Gets or sets a value that indicates whether to preserve object references.
+
+
+ true to keep object reference; otherwise, false. The default is false.
+
+
+
+
+ Gets or sets a value that indicates whether to preserve collection's items references.
+
+
+ true to keep collection's items object references; otherwise, false. The default is false.
+
+
+
+
+ Gets or sets the reference loop handling used when serializing the collection's items.
+
+ The reference loop handling.
+
+
+
+ Gets or sets the type name handling used when serializing the collection's items.
+
+ The type name handling.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified container Id.
+
+ The container Id.
+
+
+
+ Provides methods for converting between .NET types and JSON types.
+
+
+
+
+
+
+
+ Gets or sets a function that creates default .
+ Default settings are automatically used by serialization methods on ,
+ and and on .
+ To serialize without using any default settings create a with
+ .
+
+
+
+
+ Represents JavaScript's boolean value true as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's boolean value false as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's null as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's undefined as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's positive infinity as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's negative infinity as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's NaN as a string. This field is read-only.
+
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation using the specified.
+
+ The value to convert.
+ The format the date will be converted to.
+ The time zone handling when the date is converted to a string.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation using the specified.
+
+ The value to convert.
+ The format the date will be converted to.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ The string delimiter character.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ The string delimiter character.
+ The string escape handling.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Serializes the specified object to a JSON string.
+
+ The object to serialize.
+ A JSON string representation of the object.
+
+
+
+ Serializes the specified object to a JSON string using formatting.
+
+ The object to serialize.
+ Indicates how the output should be formatted.
+
+ A JSON string representation of the object.
+
+
+
+
+ Serializes the specified object to a JSON string using a collection of .
+
+ The object to serialize.
+ A collection of converters used while serializing.
+ A JSON string representation of the object.
+
+
+
+ Serializes the specified object to a JSON string using formatting and a collection of .
+
+ The object to serialize.
+ Indicates how the output should be formatted.
+ A collection of converters used while serializing.
+ A JSON string representation of the object.
+
+
+
+ Serializes the specified object to a JSON string using .
+
+ The object to serialize.
+ The used to serialize the object.
+ If this is null, default serialization settings will be used.
+
+ A JSON string representation of the object.
+
+
+
+
+ Serializes the specified object to a JSON string using a type, formatting and .
+
+ The object to serialize.
+ The used to serialize the object.
+ If this is null, default serialization settings will be used.
+
+ The type of the value being serialized.
+ This parameter is used when is to write out the type name if the type of the value does not match.
+ Specifying the type is optional.
+
+
+ A JSON string representation of the object.
+
+
+
+
+ Serializes the specified object to a JSON string using formatting and .
+
+ The object to serialize.
+ Indicates how the output should be formatted.
+ The used to serialize the object.
+ If this is null, default serialization settings will be used.
+
+ A JSON string representation of the object.
+
+
+
+
+ Serializes the specified object to a JSON string using a type, formatting and .
+
+ The object to serialize.
+ Indicates how the output should be formatted.
+ The used to serialize the object.
+ If this is null, default serialization settings will be used.
+
+ The type of the value being serialized.
+ This parameter is used when is to write out the type name if the type of the value does not match.
+ Specifying the type is optional.
+
+
+ A JSON string representation of the object.
+
+
+
+
+ Deserializes the JSON to a .NET object.
+
+ The JSON to deserialize.
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to a .NET object using .
+
+ The JSON to deserialize.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type.
+
+ The JSON to deserialize.
+ The of object being deserialized.
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type.
+
+ The type of the object to deserialize to.
+ The JSON to deserialize.
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the given anonymous type.
+
+
+ The anonymous type to deserialize to. This can't be specified
+ traditionally and must be inferred from the anonymous type passed
+ as a parameter.
+
+ The JSON to deserialize.
+ The anonymous type object.
+ The deserialized anonymous type from the JSON string.
+
+
+
+ Deserializes the JSON to the given anonymous type using .
+
+
+ The anonymous type to deserialize to. This can't be specified
+ traditionally and must be inferred from the anonymous type passed
+ as a parameter.
+
+ The JSON to deserialize.
+ The anonymous type object.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+ The deserialized anonymous type from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type using a collection of .
+
+ The type of the object to deserialize to.
+ The JSON to deserialize.
+ Converters to use while deserializing.
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type using .
+
+ The type of the object to deserialize to.
+ The object to deserialize.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type using a collection of .
+
+ The JSON to deserialize.
+ The type of the object to deserialize.
+ Converters to use while deserializing.
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type using .
+
+ The JSON to deserialize.
+ The type of the object to deserialize to.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+ The deserialized object from the JSON string.
+
+
+
+ Populates the object with values from the JSON string.
+
+ The JSON to populate values from.
+ The target object to populate values onto.
+
+
+
+ Populates the object with values from the JSON string using .
+
+ The JSON to populate values from.
+ The target object to populate values onto.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+
+
+
+ Serializes the to a JSON string.
+
+ The node to serialize.
+ A JSON string of the .
+
+
+
+ Serializes the to a JSON string using formatting.
+
+ The node to serialize.
+ Indicates how the output should be formatted.
+ A JSON string of the .
+
+
+
+ Serializes the to a JSON string using formatting and omits the root object if is true.
+
+ The node to serialize.
+ Indicates how the output should be formatted.
+ Omits writing the root object.
+ A JSON string of the .
+
+
+
+ Deserializes the from a JSON string.
+
+ The JSON string.
+ The deserialized .
+
+
+
+ Deserializes the from a JSON string nested in a root element specified by .
+
+ The JSON string.
+ The name of the root element to append when deserializing.
+ The deserialized .
+
+
+
+ Deserializes the from a JSON string nested in a root element specified by
+ and writes a Json.NET array attribute for collections.
+
+ The JSON string.
+ The name of the root element to append when deserializing.
+
+ A value to indicate whether to write the Json.NET array attribute.
+ This attribute helps preserve arrays when converting the written XML back to JSON.
+
+ The deserialized .
+
+
+
+ Deserializes the from a JSON string nested in a root element specified by ,
+ writes a Json.NET array attribute for collections, and encodes special characters.
+
+ The JSON string.
+ The name of the root element to append when deserializing.
+
+ A value to indicate whether to write the Json.NET array attribute.
+ This attribute helps preserve arrays when converting the written XML back to JSON.
+
+
+ A value to indicate whether to encode special characters when converting JSON to XML.
+ If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify
+ XML namespaces, attributes or processing directives. Instead special characters are encoded and written
+ as part of the XML element name.
+
+ The deserialized .
+
+
+
+ Serializes the to a JSON string.
+
+ The node to convert to JSON.
+ A JSON string of the .
+
+
+
+ Serializes the to a JSON string using formatting.
+
+ The node to convert to JSON.
+ Indicates how the output should be formatted.
+ A JSON string of the .
+
+
+
+ Serializes the to a JSON string using formatting and omits the root object if is true.
+
+ The node to serialize.
+ Indicates how the output should be formatted.
+ Omits writing the root object.
+ A JSON string of the .
+
+
+
+ Deserializes the from a JSON string.
+
+ The JSON string.
+ The deserialized .
+
+
+
+ Deserializes the from a JSON string nested in a root element specified by .
+
+ The JSON string.
+ The name of the root element to append when deserializing.
+ The deserialized .
+
+
+
+ Deserializes the from a JSON string nested in a root element specified by
+ and writes a Json.NET array attribute for collections.
+
+ The JSON string.
+ The name of the root element to append when deserializing.
+
+ A value to indicate whether to write the Json.NET array attribute.
+ This attribute helps preserve arrays when converting the written XML back to JSON.
+
+ The deserialized .
+
+
+
+ Deserializes the from a JSON string nested in a root element specified by ,
+ writes a Json.NET array attribute for collections, and encodes special characters.
+
+ The JSON string.
+ The name of the root element to append when deserializing.
+
+ A value to indicate whether to write the Json.NET array attribute.
+ This attribute helps preserve arrays when converting the written XML back to JSON.
+
+
+ A value to indicate whether to encode special characters when converting JSON to XML.
+ If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify
+ XML namespaces, attributes or processing directives. Instead special characters are encoded and written
+ as part of the XML element name.
+
+ The deserialized .
+
+
+
+ Converts an object to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this can read JSON.
+
+ true if this can read JSON; otherwise, false.
+
+
+
+ Gets a value indicating whether this can write JSON.
+
+ true if this can write JSON; otherwise, false.
+
+
+
+ Converts an object to and from JSON.
+
+ The object type to convert.
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read. If there is no existing value then null will be used.
+ The existing value has a value.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Instructs the to use the specified when serializing the member or class.
+
+
+
+
+ Gets the of the .
+
+ The of the .
+
+
+
+ The parameter list to use when constructing the described by .
+ If null, the default constructor is used.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the .
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the .
+ Parameter list to use when constructing the . Can be null.
+
+
+
+ Represents a collection of .
+
+
+
+
+ Instructs the how to serialize the collection.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified container Id.
+
+ The container Id.
+
+
+
+ The exception thrown when an error occurs during JSON serialization or deserialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class
+ with a specified error message and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or null if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+ Instructs the to deserialize properties with no matching class member into the specified collection
+ and write values during serialization.
+
+
+
+
+ Gets or sets a value that indicates whether to write extension data when serializing the object.
+
+
+ true to write extension data when serializing the object; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value that indicates whether to read extension data when deserializing the object.
+
+
+ true to read extension data when deserializing the object; otherwise, false. The default is true.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Instructs the not to serialize the public field or public read/write property value.
+
+
+
+
+ Base class for a table of atomized string objects.
+
+
+
+
+ Gets a string containing the same characters as the specified range of characters in the given array.
+
+ The character array containing the name to find.
+ The zero-based index into the array specifying the first character of the name.
+ The number of characters in the name.
+ A string containing the same characters as the specified range of characters in the given array.
+
+
+
+ Instructs the how to serialize the object.
+
+
+
+
+ Gets or sets the member serialization.
+
+ The member serialization.
+
+
+
+ Gets or sets the missing member handling used when deserializing this object.
+
+ The missing member handling.
+
+
+
+ Gets or sets how the object's properties with null values are handled during serialization and deserialization.
+
+ How the object's properties with null values are handled during serialization and deserialization.
+
+
+
+ Gets or sets a value that indicates whether the object's properties are required.
+
+
+ A value indicating whether the object's properties are required.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified member serialization.
+
+ The member serialization.
+
+
+
+ Initializes a new instance of the class with the specified container Id.
+
+ The container Id.
+
+
+
+ Instructs the to always serialize the member with the specified name.
+
+
+
+
+ Gets or sets the type used when serializing the property's collection items.
+
+ The collection's items type.
+
+
+
+ The parameter list to use when constructing the described by .
+ If null, the default constructor is used.
+ When non-null, there must be a constructor defined in the that exactly matches the number,
+ order, and type of these parameters.
+
+
+
+ [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
+
+
+
+
+
+ Gets or sets the of the .
+
+ The of the .
+
+
+
+ The parameter list to use when constructing the described by .
+ If null, the default constructor is used.
+ When non-null, there must be a constructor defined in the that exactly matches the number,
+ order, and type of these parameters.
+
+
+
+ [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
+
+
+
+
+
+ Gets or sets the null value handling used when serializing this property.
+
+ The null value handling.
+
+
+
+ Gets or sets the default value handling used when serializing this property.
+
+ The default value handling.
+
+
+
+ Gets or sets the reference loop handling used when serializing this property.
+
+ The reference loop handling.
+
+
+
+ Gets or sets the object creation handling used when deserializing this property.
+
+ The object creation handling.
+
+
+
+ Gets or sets the type name handling used when serializing this property.
+
+ The type name handling.
+
+
+
+ Gets or sets whether this property's value is serialized as a reference.
+
+ Whether this property's value is serialized as a reference.
+
+
+
+ Gets or sets the order of serialization of a member.
+
+ The numeric order of serialization.
+
+
+
+ Gets or sets a value indicating whether this property is required.
+
+
+ A value indicating whether this property is required.
+
+
+
+
+ Gets or sets the name of the property.
+
+ The name of the property.
+
+
+
+ Gets or sets the reference loop handling used when serializing the property's collection items.
+
+ The collection's items reference loop handling.
+
+
+
+ Gets or sets the type name handling used when serializing the property's collection items.
+
+ The collection's items type name handling.
+
+
+
+ Gets or sets whether this property's collection items are serialized as a reference.
+
+ Whether this property's collection items are serialized as a reference.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified name.
+
+ Name of the property.
+
+
+
+ Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
+
+
+
+
+ Asynchronously reads the next JSON token from the source.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns true if the next token was read successfully; false if there are no more tokens to read.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously skips the children of the current token.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a [].
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the []. This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Specifies the state of the reader.
+
+
+
+
+ A read method has not been called.
+
+
+
+
+ The end of the file has been reached successfully.
+
+
+
+
+ Reader is at a property.
+
+
+
+
+ Reader is at the start of an object.
+
+
+
+
+ Reader is in an object.
+
+
+
+
+ Reader is at the start of an array.
+
+
+
+
+ Reader is in an array.
+
+
+
+
+ The method has been called.
+
+
+
+
+ Reader has just read a value.
+
+
+
+
+ Reader is at the start of a constructor.
+
+
+
+
+ Reader is in a constructor.
+
+
+
+
+ An error occurred that prevents the read operation from continuing.
+
+
+
+
+ The end of the file has been reached successfully.
+
+
+
+
+ Gets the current reader state.
+
+ The current reader state.
+
+
+
+ Gets or sets a value indicating whether the source should be closed when this reader is closed.
+
+
+ true to close the source when this reader is closed; otherwise false. The default is true.
+
+
+
+
+ Gets or sets a value indicating whether multiple pieces of JSON content can
+ be read from a continuous stream without erroring.
+
+
+ true to support reading multiple pieces of JSON content; otherwise false.
+ The default is false.
+
+
+
+
+ Gets the quotation mark character used to enclose the value of a string.
+
+
+
+
+ Gets or sets how time zones are handled when reading JSON.
+
+
+
+
+ Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.
+
+
+
+
+ Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+
+
+
+
+ Gets or sets how custom date formatted strings are parsed when reading JSON.
+
+
+
+
+ Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a .
+ A null value means there is no maximum.
+ The default value is 64.
+
+
+
+
+ Gets the type of the current JSON token.
+
+
+
+
+ Gets the text value of the current JSON token.
+
+
+
+
+ Gets the .NET type for the current JSON token.
+
+
+
+
+ Gets the depth of the current token in the JSON document.
+
+ The depth of the current token in the JSON document.
+
+
+
+ Gets the path of the current JSON token.
+
+
+
+
+ Gets or sets the culture used when reading JSON. Defaults to .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Reads the next JSON token from the source.
+
+ true if the next token was read successfully; false if there are no more tokens to read.
+
+
+
+ Reads the next JSON token from the source as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the source as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the source as a [].
+
+ A [] or null if the next JSON token is null. This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the source as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the source as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the source as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the source as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the source as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Skips the children of the current token.
+
+
+
+
+ Sets the current token.
+
+ The new token.
+
+
+
+ Sets the current token and value.
+
+ The new token.
+ The value.
+
+
+
+ Sets the current token and value.
+
+ The new token.
+ The value.
+ A flag indicating whether the position index inside an array should be updated.
+
+
+
+ Sets the state based on current token type.
+
+
+
+
+ Releases unmanaged and - optionally - managed resources.
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Changes the reader's state to .
+ If is set to true, the source is also closed.
+
+
+
+
+ The exception thrown when an error occurs while reading JSON text.
+
+
+
+
+ Gets the line number indicating where the error occurred.
+
+ The line number indicating where the error occurred.
+
+
+
+ Gets the line position indicating where the error occurred.
+
+ The line position indicating where the error occurred.
+
+
+
+ Gets the path to the JSON where the error occurred.
+
+ The path to the JSON where the error occurred.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class
+ with a specified error message and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or null if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+ Initializes a new instance of the class
+ with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The path to the JSON where the error occurred.
+ The line number indicating where the error occurred.
+ The line position indicating where the error occurred.
+ The exception that is the cause of the current exception, or null if no inner exception is specified.
+
+
+
+ Instructs the to always serialize the member, and to require that the member has a value.
+
+
+
+
+ The exception thrown when an error occurs during JSON serialization or deserialization.
+
+
+
+
+ Gets the line number indicating where the error occurred.
+
+ The line number indicating where the error occurred.
+
+
+
+ Gets the line position indicating where the error occurred.
+
+ The line position indicating where the error occurred.
+
+
+
+ Gets the path to the JSON where the error occurred.
+
+ The path to the JSON where the error occurred.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class
+ with a specified error message and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or null if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+ Initializes a new instance of the class
+ with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The path to the JSON where the error occurred.
+ The line number indicating where the error occurred.
+ The line position indicating where the error occurred.
+ The exception that is the cause of the current exception, or null if no inner exception is specified.
+
+
+
+ Serializes and deserializes objects into and from the JSON format.
+ The enables you to control how objects are encoded into JSON.
+
+
+
+
+ Occurs when the errors during serialization and deserialization.
+
+
+
+
+ Gets or sets the used by the serializer when resolving references.
+
+
+
+
+ Gets or sets the used by the serializer when resolving type names.
+
+
+
+
+ Gets or sets the used by the serializer when resolving type names.
+
+
+
+
+ Gets or sets the used by the serializer when writing trace messages.
+
+ The trace writer.
+
+
+
+ Gets or sets the equality comparer used by the serializer when comparing references.
+
+ The equality comparer.
+
+
+
+ Gets or sets how type name writing and reading is handled by the serializer.
+ The default value is .
+
+
+ should be used with caution when your application deserializes JSON from an external source.
+ Incoming types should be validated with a custom
+ when deserializing with a value other than .
+
+
+
+
+ Gets or sets how a type name assembly is written and resolved by the serializer.
+ The default value is .
+
+ The type name assembly format.
+
+
+
+ Gets or sets how a type name assembly is written and resolved by the serializer.
+ The default value is .
+
+ The type name assembly format.
+
+
+
+ Gets or sets how object references are preserved by the serializer.
+ The default value is .
+
+
+
+
+ Gets or sets how reference loops (e.g. a class referencing itself) is handled.
+ The default value is .
+
+
+
+
+ Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization.
+ The default value is .
+
+
+
+
+ Gets or sets how null values are handled during serialization and deserialization.
+ The default value is .
+
+
+
+
+ Gets or sets how default values are handled during serialization and deserialization.
+ The default value is .
+
+
+
+
+ Gets or sets how objects are created during deserialization.
+ The default value is .
+
+ The object creation handling.
+
+
+
+ Gets or sets how constructors are used during deserialization.
+ The default value is .
+
+ The constructor handling.
+
+
+
+ Gets or sets how metadata properties are used during deserialization.
+ The default value is .
+
+ The metadata properties handling.
+
+
+
+ Gets a collection that will be used during serialization.
+
+ Collection that will be used during serialization.
+
+
+
+ Gets or sets the contract resolver used by the serializer when
+ serializing .NET objects to JSON and vice versa.
+
+
+
+
+ Gets or sets the used by the serializer when invoking serialization callback methods.
+
+ The context.
+
+
+
+ Indicates how JSON text output is formatted.
+ The default value is .
+
+
+
+
+ Gets or sets how dates are written to JSON text.
+ The default value is .
+
+
+
+
+ Gets or sets how time zones are handled during serialization and deserialization.
+ The default value is .
+
+
+
+
+ Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.
+ The default value is .
+
+
+
+
+ Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+ The default value is .
+
+
+
+
+ Gets or sets how special floating point numbers, e.g. ,
+ and ,
+ are written as JSON text.
+ The default value is .
+
+
+
+
+ Gets or sets how strings are escaped when writing JSON text.
+ The default value is .
+
+
+
+
+ Gets or sets how and values are formatted when writing JSON text,
+ and the expected date format when reading JSON text.
+ The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK".
+
+
+
+
+ Gets or sets the culture used when reading JSON.
+ The default value is .
+
+
+
+
+ Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a .
+ A null value means there is no maximum.
+ The default value is 64.
+
+
+
+
+ Gets a value indicating whether there will be a check for additional JSON content after deserializing an object.
+ The default value is false.
+
+
+ true if there will be a check for additional JSON content after deserializing an object; otherwise, false.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Creates a new instance.
+ The will not use default settings
+ from .
+
+
+ A new instance.
+ The will not use default settings
+ from .
+
+
+
+
+ Creates a new instance using the specified .
+ The will not use default settings
+ from .
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will not use default settings
+ from .
+
+
+
+
+ Creates a new instance.
+ The will use default settings
+ from .
+
+
+ A new instance.
+ The will use default settings
+ from .
+
+
+
+
+ Creates a new instance using the specified .
+ The will use default settings
+ from as well as the specified .
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will use default settings
+ from as well as the specified .
+
+
+
+
+ Populates the JSON values onto the target object.
+
+ The that contains the JSON structure to read values from.
+ The target object to populate values onto.
+
+
+
+ Populates the JSON values onto the target object.
+
+ The that contains the JSON structure to read values from.
+ The target object to populate values onto.
+
+
+
+ Deserializes the JSON structure contained by the specified .
+
+ The that contains the JSON structure to deserialize.
+ The being deserialized.
+
+
+
+ Deserializes the JSON structure contained by the specified
+ into an instance of the specified type.
+
+ The containing the object.
+ The of object being deserialized.
+ The instance of being deserialized.
+
+
+
+ Deserializes the JSON structure contained by the specified
+ into an instance of the specified type.
+
+ The containing the object.
+ The type of the object to deserialize.
+ The instance of being deserialized.
+
+
+
+ Deserializes the JSON structure contained by the specified
+ into an instance of the specified type.
+
+ The containing the object.
+ The of object being deserialized.
+ The instance of being deserialized.
+
+
+
+ Serializes the specified and writes the JSON structure
+ using the specified .
+
+ The used to write the JSON structure.
+ The to serialize.
+
+
+
+ Serializes the specified and writes the JSON structure
+ using the specified .
+
+ The used to write the JSON structure.
+ The to serialize.
+
+ The type of the value being serialized.
+ This parameter is used when is to write out the type name if the type of the value does not match.
+ Specifying the type is optional.
+
+
+
+
+ Serializes the specified and writes the JSON structure
+ using the specified .
+
+ The used to write the JSON structure.
+ The to serialize.
+
+ The type of the value being serialized.
+ This parameter is used when is Auto to write out the type name if the type of the value does not match.
+ Specifying the type is optional.
+
+
+
+
+ Serializes the specified and writes the JSON structure
+ using the specified .
+
+ The used to write the JSON structure.
+ The to serialize.
+
+
+
+ Specifies the settings on a object.
+
+
+
+
+ Gets or sets how reference loops (e.g. a class referencing itself) are handled.
+ The default value is .
+
+ Reference loop handling.
+
+
+
+ Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization.
+ The default value is .
+
+ Missing member handling.
+
+
+
+ Gets or sets how objects are created during deserialization.
+ The default value is .
+
+ The object creation handling.
+
+
+
+ Gets or sets how null values are handled during serialization and deserialization.
+ The default value is .
+
+ Null value handling.
+
+
+
+ Gets or sets how default values are handled during serialization and deserialization.
+ The default value is .
+
+ The default value handling.
+
+
+
+ Gets or sets a collection that will be used during serialization.
+
+ The converters.
+
+
+
+ Gets or sets how object references are preserved by the serializer.
+ The default value is .
+
+ The preserve references handling.
+
+
+
+ Gets or sets how type name writing and reading is handled by the serializer.
+ The default value is .
+
+
+ should be used with caution when your application deserializes JSON from an external source.
+ Incoming types should be validated with a custom
+ when deserializing with a value other than .
+
+ The type name handling.
+
+
+
+ Gets or sets how metadata properties are used during deserialization.
+ The default value is .
+
+ The metadata properties handling.
+
+
+
+ Gets or sets how a type name assembly is written and resolved by the serializer.
+ The default value is .
+
+ The type name assembly format.
+
+
+
+ Gets or sets how a type name assembly is written and resolved by the serializer.
+ The default value is .
+
+ The type name assembly format.
+
+
+
+ Gets or sets how constructors are used during deserialization.
+ The default value is .
+
+ The constructor handling.
+
+
+
+ Gets or sets the contract resolver used by the serializer when
+ serializing .NET objects to JSON and vice versa.
+
+ The contract resolver.
+
+
+
+ Gets or sets the equality comparer used by the serializer when comparing references.
+
+ The equality comparer.
+
+
+
+ Gets or sets the used by the serializer when resolving references.
+
+ The reference resolver.
+
+
+
+ Gets or sets a function that creates the used by the serializer when resolving references.
+
+ A function that creates the used by the serializer when resolving references.
+
+
+
+ Gets or sets the used by the serializer when writing trace messages.
+
+ The trace writer.
+
+
+
+ Gets or sets the used by the serializer when resolving type names.
+
+ The binder.
+
+
+
+ Gets or sets the used by the serializer when resolving type names.
+
+ The binder.
+
+
+
+ Gets or sets the error handler called during serialization and deserialization.
+
+ The error handler called during serialization and deserialization.
+
+
+
+ Gets or sets the used by the serializer when invoking serialization callback methods.
+
+ The context.
+
+
+
+ Gets or sets how and values are formatted when writing JSON text,
+ and the expected date format when reading JSON text.
+ The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK".
+
+
+
+
+ Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a .
+ A null value means there is no maximum.
+ The default value is 64.
+
+
+
+
+ Indicates how JSON text output is formatted.
+ The default value is .
+
+
+
+
+ Gets or sets how dates are written to JSON text.
+ The default value is .
+
+
+
+
+ Gets or sets how time zones are handled during serialization and deserialization.
+ The default value is .
+
+
+
+
+ Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.
+ The default value is .
+
+
+
+
+ Gets or sets how special floating point numbers, e.g. ,
+ and ,
+ are written as JSON.
+ The default value is .
+
+
+
+
+ Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+ The default value is .
+
+
+
+
+ Gets or sets how strings are escaped when writing JSON text.
+ The default value is .
+
+
+
+
+ Gets or sets the culture used when reading JSON.
+ The default value is .
+
+
+
+
+ Gets a value indicating whether there will be a check for additional content after deserializing an object.
+ The default value is false.
+
+
+ true if there will be a check for additional content after deserializing an object; otherwise, false.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ using values copied from the passed in .
+
+
+
+
+ Represents a reader that provides fast, non-cached, forward-only access to JSON text data.
+
+
+
+
+ Asynchronously reads the next JSON token from the source.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns true if the next token was read successfully; false if there are no more tokens to read.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a [].
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the []. This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Initializes a new instance of the class with the specified .
+
+ The containing the JSON data to read.
+
+
+
+ Gets or sets the reader's property name table.
+
+
+
+
+ Gets or sets the reader's character buffer pool.
+
+
+
+
+ Reads the next JSON token from the underlying .
+
+
+ true if the next token was read successfully; false if there are no more tokens to read.
+
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the underlying as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the underlying as a [].
+
+ A [] or null if the next JSON token is null. This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Changes the reader's state to .
+ If is set to true, the underlying is also closed.
+
+
+
+
+ Gets a value indicating whether the class can return line information.
+
+
+ true if and can be provided; otherwise, false.
+
+
+
+
+ Gets the current line number.
+
+
+ The current line number or 0 if no line information is available (for example, returns false).
+
+
+
+
+ Gets the current line position.
+
+
+ The current line position or 0 if no line information is available (for example, returns false).
+
+
+
+
+ Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+
+
+
+
+ Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the JSON value delimiter.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the specified end token.
+
+ The end token to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously closes this writer.
+ If is set to true, the destination is also closed.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the end of the current JSON object or array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes indent characters.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes an indent space.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes raw JSON without changing the writer's state.
+
+ The raw JSON to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a null value.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the property name of a name/value pair of a JSON object.
+
+ The name of the property.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the property name of a name/value pair of a JSON object.
+
+ The name of the property.
+ A flag to indicate whether the text should be escaped when it is written as a JSON property name.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the beginning of a JSON array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the beginning of a JSON object.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the start of a constructor with the given name.
+
+ The name of the constructor.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes an undefined value.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the given white space.
+
+ The string of white space characters.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a [] value.
+
+ The [] value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the end of an array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the end of a constructor.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the end of a JSON object.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes raw JSON where a value is expected and updates the writer's state.
+
+ The raw JSON to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Gets or sets the writer's character array pool.
+
+
+
+
+ Gets or sets how many s to write for each level in the hierarchy when is set to .
+
+
+
+
+ Gets or sets which character to use to quote attribute values.
+
+
+
+
+ Gets or sets which character to use for indenting when is set to .
+
+
+
+
+ Gets or sets a value indicating whether object names will be surrounded with quotes.
+
+
+
+
+ Initializes a new instance of the class using the specified .
+
+ The to write to.
+
+
+
+ Flushes whatever is in the buffer to the underlying and also flushes the underlying .
+
+
+
+
+ Closes this writer.
+ If is set to true, the underlying is also closed.
+ If is set to true, the JSON is auto-completed.
+
+
+
+
+ Writes the beginning of a JSON object.
+
+
+
+
+ Writes the beginning of a JSON array.
+
+
+
+
+ Writes the start of a constructor with the given name.
+
+ The name of the constructor.
+
+
+
+ Writes the specified end token.
+
+ The end token to write.
+
+
+
+ Writes the property name of a name/value pair on a JSON object.
+
+ The name of the property.
+
+
+
+ Writes the property name of a name/value pair on a JSON object.
+
+ The name of the property.
+ A flag to indicate whether the text should be escaped when it is written as a JSON property name.
+
+
+
+ Writes indent characters.
+
+
+
+
+ Writes the JSON value delimiter.
+
+
+
+
+ Writes an indent space.
+
+
+
+
+ Writes a value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ Writes a null value.
+
+
+
+
+ Writes an undefined value.
+
+
+
+
+ Writes raw JSON.
+
+ The raw JSON to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a [] value.
+
+ The [] value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+
+
+
+ Writes the given white space.
+
+ The string of white space characters.
+
+
+
+ Specifies the type of JSON token.
+
+
+
+
+ This is returned by the if a read method has not been called.
+
+
+
+
+ An object start token.
+
+
+
+
+ An array start token.
+
+
+
+
+ A constructor start token.
+
+
+
+
+ An object property name.
+
+
+
+
+ A comment.
+
+
+
+
+ Raw JSON.
+
+
+
+
+ An integer.
+
+
+
+
+ A float.
+
+
+
+
+ A string.
+
+
+
+
+ A boolean.
+
+
+
+
+ A null token.
+
+
+
+
+ An undefined token.
+
+
+
+
+ An object end token.
+
+
+
+
+ An array end token.
+
+
+
+
+ A constructor end token.
+
+
+
+
+ A Date.
+
+
+
+
+ Byte data.
+
+
+
+
+
+ Represents a reader that provides validation.
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+
+
+
+ Sets an event handler for receiving schema validation errors.
+
+
+
+
+ Gets the text value of the current JSON token.
+
+
+
+
+
+ Gets the depth of the current token in the JSON document.
+
+ The depth of the current token in the JSON document.
+
+
+
+ Gets the path of the current JSON token.
+
+
+
+
+ Gets the quotation mark character used to enclose the value of a string.
+
+
+
+
+
+ Gets the type of the current JSON token.
+
+
+
+
+
+ Gets the .NET type for the current JSON token.
+
+
+
+
+
+ Initializes a new instance of the class that
+ validates the content returned from the given .
+
+ The to read from while validating.
+
+
+
+ Gets or sets the schema.
+
+ The schema.
+
+
+
+ Gets the used to construct this .
+
+ The specified in the constructor.
+
+
+
+ Changes the reader's state to .
+ If is set to true, the underlying is also closed.
+
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of .
+
+
+
+ Reads the next JSON token from the underlying as a [].
+
+
+ A [] or null if the next JSON token is null.
+
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of .
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of .
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of .
+
+
+
+ Reads the next JSON token from the underlying as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the underlying as a of .
+
+ A of .
+
+
+
+ Reads the next JSON token from the underlying .
+
+
+ true if the next token was read successfully; false if there are no more tokens to read.
+
+
+
+
+ Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+
+
+
+
+ Asynchronously closes this writer.
+ If is set to true, the destination is also closed.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the specified end token.
+
+ The end token to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes indent characters.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the JSON value delimiter.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes an indent space.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes raw JSON without changing the writer's state.
+
+ The raw JSON to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the end of the current JSON object or array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the end of an array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the end of a constructor.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the end of a JSON object.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a null value.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the property name of a name/value pair of a JSON object.
+
+ The name of the property.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the property name of a name/value pair of a JSON object.
+
+ The name of the property.
+ A flag to indicate whether the text should be escaped when it is written as a JSON property name.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the beginning of a JSON array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes raw JSON where a value is expected and updates the writer's state.
+
+ The raw JSON to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the start of a constructor with the given name.
+
+ The name of the constructor.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the beginning of a JSON object.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the current token.
+
+ The to read the token from.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the current token.
+
+ The to read the token from.
+ A flag indicating whether the current token's children should be written.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the token and its value.
+
+ The to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the token and its value.
+
+ The to write.
+
+ The value to write.
+ A value is only required for tokens that have an associated value, e.g. the property name for .
+ null can be passed to the method for tokens that don't have a value, e.g. .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a [] value.
+
+ The [] value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes an undefined value.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the given white space.
+
+ The string of white space characters.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously ets the state of the .
+
+ The being written.
+ The value being written.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Gets or sets a value indicating whether the destination should be closed when this writer is closed.
+
+
+ true to close the destination when this writer is closed; otherwise false. The default is true.
+
+
+
+
+ Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed.
+
+
+ true to auto-complete the JSON when this writer is closed; otherwise false. The default is true.
+
+
+
+
+ Gets the top.
+
+ The top.
+
+
+
+ Gets the state of the writer.
+
+
+
+
+ Gets the path of the writer.
+
+
+
+
+ Gets or sets a value indicating how JSON text output should be formatted.
+
+
+
+
+ Gets or sets how dates are written to JSON text.
+
+
+
+
+ Gets or sets how time zones are handled when writing JSON text.
+
+
+
+
+ Gets or sets how strings are escaped when writing JSON text.
+
+
+
+
+ Gets or sets how special floating point numbers, e.g. ,
+ and ,
+ are written to JSON text.
+
+
+
+
+ Gets or sets how and values are formatted when writing JSON text.
+
+
+
+
+ Gets or sets the culture used when writing JSON. Defaults to .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Flushes whatever is in the buffer to the destination and also flushes the destination.
+
+
+
+
+ Closes this writer.
+ If is set to true, the destination is also closed.
+ If is set to true, the JSON is auto-completed.
+
+
+
+
+ Writes the beginning of a JSON object.
+
+
+
+
+ Writes the end of a JSON object.
+
+
+
+
+ Writes the beginning of a JSON array.
+
+
+
+
+ Writes the end of an array.
+
+
+
+
+ Writes the start of a constructor with the given name.
+
+ The name of the constructor.
+
+
+
+ Writes the end constructor.
+
+
+
+
+ Writes the property name of a name/value pair of a JSON object.
+
+ The name of the property.
+
+
+
+ Writes the property name of a name/value pair of a JSON object.
+
+ The name of the property.
+ A flag to indicate whether the text should be escaped when it is written as a JSON property name.
+
+
+
+ Writes the end of the current JSON object or array.
+
+
+
+
+ Writes the current token and its children.
+
+ The to read the token from.
+
+
+
+ Writes the current token.
+
+ The to read the token from.
+ A flag indicating whether the current token's children should be written.
+
+
+
+ Writes the token and its value.
+
+ The to write.
+
+ The value to write.
+ A value is only required for tokens that have an associated value, e.g. the property name for .
+ null can be passed to the method for tokens that don't have a value, e.g. .
+
+
+
+
+ Writes the token.
+
+ The to write.
+
+
+
+ Writes the specified end token.
+
+ The end token to write.
+
+
+
+ Writes indent characters.
+
+
+
+
+ Writes the JSON value delimiter.
+
+
+
+
+ Writes an indent space.
+
+
+
+
+ Writes a null value.
+
+
+
+
+ Writes an undefined value.
+
+
+
+
+ Writes raw JSON without changing the writer's state.
+
+ The raw JSON to write.
+
+
+
+ Writes raw JSON where a value is expected and updates the writer's state.
+
+ The raw JSON to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a of value.
+
+ The of value to write.
+
+
+
+ Writes a [] value.
+
+ The [] value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ Writes a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+
+
+
+ Writes the given white space.
+
+ The string of white space characters.
+
+
+
+ Releases unmanaged and - optionally - managed resources.
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Sets the state of the .
+
+ The being written.
+ The value being written.
+
+
+
+ The exception thrown when an error occurs while writing JSON text.
+
+
+
+
+ Gets the path to the JSON where the error occurred.
+
+ The path to the JSON where the error occurred.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class
+ with a specified error message and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or null if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+ Initializes a new instance of the class
+ with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The path to the JSON where the error occurred.
+ The exception that is the cause of the current exception, or null if no inner exception is specified.
+
+
+
+ Specifies how JSON comments are handled when loading JSON.
+
+
+
+
+ Ignore comments.
+
+
+
+
+ Load comments as a with type .
+
+
+
+
+ Specifies how duplicate property names are handled when loading JSON.
+
+
+
+
+ Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used.
+
+
+
+
+ Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used.
+
+
+
+
+ Throw a when a duplicate property is encountered.
+
+
+
+
+ Contains the LINQ to JSON extension methods.
+
+
+
+
+ Returns a collection of tokens that contains the ancestors of every token in the source collection.
+
+ The type of the objects in source, constrained to .
+ An of that contains the source collection.
+ An of that contains the ancestors of every token in the source collection.
+
+
+
+ Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection.
+
+ The type of the objects in source, constrained to .
+ An of that contains the source collection.
+ An of that contains every token in the source collection, the ancestors of every token in the source collection.
+
+
+
+ Returns a collection of tokens that contains the descendants of every token in the source collection.
+
+ The type of the objects in source, constrained to .
+ An of that contains the source collection.
+ An of that contains the descendants of every token in the source collection.
+
+
+
+ Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection.
+
+ The type of the objects in source, constrained to .
+ An of that contains the source collection.
+ An of that contains every token in the source collection, and the descendants of every token in the source collection.
+
+
+
+ Returns a collection of child properties of every object in the source collection.
+
+ An of that contains the source collection.
+ An of that contains the properties of every object in the source collection.
+
+
+
+ Returns a collection of child values of every object in the source collection with the given key.
+
+ An of that contains the source collection.
+ The token key.
+ An of that contains the values of every token in the source collection with the given key.
+
+
+
+ Returns a collection of child values of every object in the source collection.
+
+ An of that contains the source collection.
+ An of that contains the values of every token in the source collection.
+
+
+
+ Returns a collection of converted child values of every object in the source collection with the given key.
+
+ The type to convert the values to.
+ An of that contains the source collection.
+ The token key.
+ An that contains the converted values of every token in the source collection with the given key.
+
+
+
+ Returns a collection of converted child values of every object in the source collection.
+
+ The type to convert the values to.
+ An of that contains the source collection.
+ An that contains the converted values of every token in the source collection.
+
+
+
+ Converts the value.
+
+ The type to convert the value to.
+ A cast as a of .
+ A converted value.
+
+
+
+ Converts the value.
+
+ The source collection type.
+ The type to convert the value to.
+ A cast as a of .
+ A converted value.
+
+
+
+ Returns a collection of child tokens of every array in the source collection.
+
+ The source collection type.
+ An of that contains the source collection.
+ An of that contains the values of every token in the source collection.
+
+
+
+ Returns a collection of converted child tokens of every array in the source collection.
+
+ An of that contains the source collection.
+ The type to convert the values to.
+ The source collection type.
+ An that contains the converted values of every token in the source collection.
+
+
+
+ Returns the input typed as .
+
+ An of that contains the source collection.
+ The input typed as .
+
+
+
+ Returns the input typed as .
+
+ The source collection type.
+ An of that contains the source collection.
+ The input typed as .
+
+
+
+ Represents a collection of objects.
+
+ The type of token.
+
+
+
+ Gets the of with the specified key.
+
+
+
+
+
+ Represents a JSON array.
+
+
+
+
+
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+ A representing the asynchronous load. The property contains the JSON that was read from the specified .
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+ A representing the asynchronous load. The property contains the JSON that was read from the specified .
+
+
+
+ Gets the container's children tokens.
+
+ The container's children tokens.
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class with the specified content.
+
+ The contents of the array.
+
+
+
+ Initializes a new instance of the class with the specified content.
+
+ The contents of the array.
+
+
+
+ Loads an from a .
+
+ A that will be read for the content of the .
+ A that contains the JSON that was read from the specified .
+
+
+
+ Loads an from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ A that contains the JSON that was read from the specified .
+
+
+
+ Load a from a string that contains JSON.
+
+ A that contains JSON.
+ A populated from the string that contains JSON.
+
+
+
+
+
+
+ Load a from a string that contains JSON.
+
+ A that contains JSON.
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ A populated from the string that contains JSON.
+
+
+
+
+
+
+ Creates a from an object.
+
+ The object that will be used to create .
+ A with the values of the specified object.
+
+
+
+ Creates a from an object.
+
+ The object that will be used to create .
+ The that will be used to read the object.
+ A with the values of the specified object.
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Gets the with the specified key.
+
+ The with the specified key.
+
+
+
+ Gets or sets the at the specified index.
+
+
+
+
+
+ Determines the index of a specific item in the .
+
+ The object to locate in the .
+
+ The index of if found in the list; otherwise, -1.
+
+
+
+
+ Inserts an item to the at the specified index.
+
+ The zero-based index at which should be inserted.
+ The object to insert into the .
+
+ is not a valid index in the .
+
+
+
+
+ Removes the item at the specified index.
+
+ The zero-based index of the item to remove.
+
+ is not a valid index in the .
+
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A of that can be used to iterate through the collection.
+
+
+
+
+ Adds an item to the .
+
+ The object to add to the .
+
+
+
+ Removes all items from the .
+
+
+
+
+ Determines whether the contains a specific value.
+
+ The object to locate in the .
+
+ true if is found in the ; otherwise, false.
+
+
+
+
+ Copies the elements of the to an array, starting at a particular array index.
+
+ The array.
+ Index of the array.
+
+
+
+ Gets a value indicating whether the is read-only.
+
+ true if the is read-only; otherwise, false.
+
+
+
+ Removes the first occurrence of a specific object from the .
+
+ The object to remove from the .
+
+ true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original .
+
+
+
+
+ Represents a JSON constructor.
+
+
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous load. The
+ property returns a that contains the JSON that was read from the specified .
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous load. The
+ property returns a that contains the JSON that was read from the specified .
+
+
+
+ Gets the container's children tokens.
+
+ The container's children tokens.
+
+
+
+ Gets or sets the name of this constructor.
+
+ The constructor name.
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class with the specified name and content.
+
+ The constructor name.
+ The contents of the constructor.
+
+
+
+ Initializes a new instance of the class with the specified name and content.
+
+ The constructor name.
+ The contents of the constructor.
+
+
+
+ Initializes a new instance of the class with the specified name.
+
+ The constructor name.
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Gets the with the specified key.
+
+ The with the specified key.
+
+
+
+ Loads a from a .
+
+ A that will be read for the content of the .
+ A that contains the JSON that was read from the specified .
+
+
+
+ Loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ A that contains the JSON that was read from the specified .
+
+
+
+ Represents a token that can contain other tokens.
+
+
+
+
+ Occurs when the list changes or an item in the list changes.
+
+
+
+
+ Occurs before an item is added to the collection.
+
+
+
+
+ Occurs when the items list of the collection has changed, or the collection is reset.
+
+
+
+
+ Gets the container's children tokens.
+
+ The container's children tokens.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Gets a value indicating whether this token has child tokens.
+
+
+ true if this token has child values; otherwise, false.
+
+
+
+
+ Get the first child token of this token.
+
+
+ A containing the first child token of the .
+
+
+
+
+ Get the last child token of this token.
+
+
+ A containing the last child token of the .
+
+
+
+
+ Returns a collection of the child tokens of this token, in document order.
+
+
+ An of containing the child tokens of this , in document order.
+
+
+
+
+ Returns a collection of the child values of this token, in document order.
+
+ The type to convert the values to.
+
+ A containing the child values of this , in document order.
+
+
+
+
+ Returns a collection of the descendant tokens for this token in document order.
+
+ An of containing the descendant tokens of the .
+
+
+
+ Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order.
+
+ An of containing this token, and all the descendant tokens of the .
+
+
+
+ Adds the specified content as children of this .
+
+ The content to be added.
+
+
+
+ Adds the specified content as the first children of this .
+
+ The content to be added.
+
+
+
+ Creates a that can be used to add tokens to the .
+
+ A that is ready to have content written to it.
+
+
+
+ Replaces the child nodes of this token with the specified content.
+
+ The content.
+
+
+
+ Removes the child nodes from this token.
+
+
+
+
+ Merge the specified content into this .
+
+ The content to be merged.
+
+
+
+ Merge the specified content into this using .
+
+ The content to be merged.
+ The used to merge the content.
+
+
+
+ Gets the count of child JSON tokens.
+
+ The count of child JSON tokens.
+
+
+
+ Represents a collection of objects.
+
+ The type of token.
+
+
+
+ An empty collection of objects.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The enumerable.
+
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Gets the of with the specified key.
+
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Represents a JSON object.
+
+
+
+
+
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous load. The
+ property returns a that contains the JSON that was read from the specified .
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous load. The
+ property returns a that contains the JSON that was read from the specified .
+
+
+
+ Gets the container's children tokens.
+
+ The container's children tokens.
+
+
+
+ Occurs when a property value changes.
+
+
+
+
+ Occurs when a property value is changing.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class with the specified content.
+
+ The contents of the object.
+
+
+
+ Initializes a new instance of the class with the specified content.
+
+ The contents of the object.
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Gets an of of this object's properties.
+
+ An of of this object's properties.
+
+
+
+ Gets a with the specified name.
+
+ The property name.
+ A with the specified name or null.
+
+
+
+ Gets the with the specified name.
+ The exact name will be searched for first and if no matching property is found then
+ the will be used to match a property.
+
+ The property name.
+ One of the enumeration values that specifies how the strings will be compared.
+ A matched with the specified name or null.
+
+
+
+ Gets a of of this object's property values.
+
+ A of of this object's property values.
+
+
+
+ Gets the with the specified key.
+
+ The with the specified key.
+
+
+
+ Gets or sets the with the specified property name.
+
+
+
+
+
+ Loads a from a .
+
+ A that will be read for the content of the .
+ A that contains the JSON that was read from the specified .
+
+ is not valid JSON.
+
+
+
+
+ Loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ A that contains the JSON that was read from the specified .
+
+ is not valid JSON.
+
+
+
+
+ Load a from a string that contains JSON.
+
+ A that contains JSON.
+ A populated from the string that contains JSON.
+
+ is not valid JSON.
+
+
+
+
+
+
+
+ Load a from a string that contains JSON.
+
+ A that contains JSON.
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ A populated from the string that contains JSON.
+
+ is not valid JSON.
+
+
+
+
+
+
+
+ Creates a from an object.
+
+ The object that will be used to create .
+ A with the values of the specified object.
+
+
+
+ Creates a from an object.
+
+ The object that will be used to create .
+ The that will be used to read the object.
+ A with the values of the specified object.
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Gets the with the specified property name.
+
+ Name of the property.
+ The with the specified property name.
+
+
+
+ Gets the with the specified property name.
+ The exact property name will be searched for first and if no matching property is found then
+ the will be used to match a property.
+
+ Name of the property.
+ One of the enumeration values that specifies how the strings will be compared.
+ The with the specified property name.
+
+
+
+ Tries to get the with the specified property name.
+ The exact property name will be searched for first and if no matching property is found then
+ the will be used to match a property.
+
+ Name of the property.
+ The value.
+ One of the enumeration values that specifies how the strings will be compared.
+ true if a value was successfully retrieved; otherwise, false.
+
+
+
+ Adds the specified property name.
+
+ Name of the property.
+ The value.
+
+
+
+ Determines whether the JSON object has the specified property name.
+
+ Name of the property.
+ true if the JSON object has the specified property name; otherwise, false.
+
+
+
+ Removes the property with the specified name.
+
+ Name of the property.
+ true if item was successfully removed; otherwise, false.
+
+
+
+ Tries to get the with the specified property name.
+
+ Name of the property.
+ The value.
+ true if a value was successfully retrieved; otherwise, false.
+
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Raises the event with the provided arguments.
+
+ Name of the property.
+
+
+
+ Raises the event with the provided arguments.
+
+ Name of the property.
+
+
+
+ Returns the responsible for binding operations performed on this object.
+
+ The expression tree representation of the runtime value.
+
+ The to bind this object.
+
+
+
+
+ Represents a JSON property.
+
+
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The token to monitor for cancellation requests. The default value is .
+ A representing the asynchronous creation. The
+ property returns a that contains the JSON that was read from the specified .
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+ A representing the asynchronous creation. The
+ property returns a that contains the JSON that was read from the specified .
+
+
+
+ Gets the container's children tokens.
+
+ The container's children tokens.
+
+
+
+ Gets the property name.
+
+ The property name.
+
+
+
+ Gets or sets the property value.
+
+ The property value.
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Initializes a new instance of the class.
+
+ The property name.
+ The property content.
+
+
+
+ Initializes a new instance of the class.
+
+ The property name.
+ The property content.
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Loads a from a .
+
+ A that will be read for the content of the .
+ A that contains the JSON that was read from the specified .
+
+
+
+ Loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ A that contains the JSON that was read from the specified .
+
+
+
+ Represents a view of a .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name.
+
+
+
+ When overridden in a derived class, returns whether resetting an object changes its value.
+
+
+ true if resetting the component changes its value; otherwise, false.
+
+ The component to test for reset capability.
+
+
+
+ When overridden in a derived class, gets the current value of the property on a component.
+
+
+ The value of a property for a given component.
+
+ The component with the property for which to retrieve the value.
+
+
+
+ When overridden in a derived class, resets the value for this property of the component to the default value.
+
+ The component with the property value that is to be reset to the default value.
+
+
+
+ When overridden in a derived class, sets the value of the component to a different value.
+
+ The component with the property value that is to be set.
+ The new value.
+
+
+
+ When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted.
+
+
+ true if the property should be persisted; otherwise, false.
+
+ The component with the property to be examined for persistence.
+
+
+
+ When overridden in a derived class, gets the type of the component this property is bound to.
+
+
+ A that represents the type of component this property is bound to.
+ When the or
+
+ methods are invoked, the object specified might be an instance of this type.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether this property is read-only.
+
+
+ true if the property is read-only; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets the type of the property.
+
+
+ A that represents the type of the property.
+
+
+
+
+ Gets the hash code for the name of the member.
+
+
+
+ The hash code for the name of the member.
+
+
+
+
+ Represents a raw JSON string.
+
+
+
+
+ Asynchronously creates an instance of with the content of the reader's current token.
+
+ The reader.
+ The token to monitor for cancellation requests. The default value is .
+ A representing the asynchronous creation. The
+ property returns an instance of with the content of the reader's current token.
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class.
+
+ The raw json.
+
+
+
+ Creates an instance of with the content of the reader's current token.
+
+ The reader.
+ An instance of with the content of the reader's current token.
+
+
+
+ Specifies the settings used when loading JSON.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets how JSON comments are handled when loading JSON.
+ The default value is .
+
+ The JSON comment handling.
+
+
+
+ Gets or sets how JSON line info is handled when loading JSON.
+ The default value is .
+
+ The JSON line info handling.
+
+
+
+ Gets or sets how duplicate property names in JSON objects are handled when loading JSON.
+ The default value is .
+
+ The JSON duplicate property name handling.
+
+
+
+ Specifies the settings used when merging JSON.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the method used when merging JSON arrays.
+
+ The method used when merging JSON arrays.
+
+
+
+ Gets or sets how null value properties are merged.
+
+ How null value properties are merged.
+
+
+
+ Gets or sets the comparison used to match property names while merging.
+ The exact property name will be searched for first and if no matching property is found then
+ the will be used to match a property.
+
+ The comparison used to match property names while merging.
+
+
+
+ Specifies the settings used when selecting JSON.
+
+
+
+
+ Gets or sets a timeout that will be used when executing regular expressions.
+
+ The timeout that will be used when executing regular expressions.
+
+
+
+ Gets or sets a flag that indicates whether an error should be thrown if
+ no tokens are found when evaluating part of the expression.
+
+
+ A flag that indicates whether an error should be thrown if
+ no tokens are found when evaluating part of the expression.
+
+
+
+
+ Represents an abstract JSON token.
+
+
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Asynchronously creates a from a .
+
+ An positioned at the token to read into this .
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous creation. The
+ property returns a that contains
+ the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Asynchronously creates a from a .
+
+ An positioned at the token to read into this .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous creation. The
+ property returns a that contains
+ the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Asynchronously creates a from a .
+
+ A positioned at the token to read into this .
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous creation. The
+ property returns a that contains the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Asynchronously creates a from a .
+
+ A positioned at the token to read into this .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous creation. The
+ property returns a that contains the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Gets a comparer that can compare two tokens for value equality.
+
+ A that can compare two nodes for value equality.
+
+
+
+ Gets or sets the parent.
+
+ The parent.
+
+
+
+ Gets the root of this .
+
+ The root of this .
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Gets a value indicating whether this token has child tokens.
+
+
+ true if this token has child values; otherwise, false.
+
+
+
+
+ Compares the values of two tokens, including the values of all descendant tokens.
+
+ The first to compare.
+ The second to compare.
+ true if the tokens are equal; otherwise false.
+
+
+
+ Gets the next sibling token of this node.
+
+ The that contains the next sibling token.
+
+
+
+ Gets the previous sibling token of this node.
+
+ The that contains the previous sibling token.
+
+
+
+ Gets the path of the JSON token.
+
+
+
+
+ Adds the specified content immediately after this token.
+
+ A content object that contains simple content or a collection of content objects to be added after this token.
+
+
+
+ Adds the specified content immediately before this token.
+
+ A content object that contains simple content or a collection of content objects to be added before this token.
+
+
+
+ Returns a collection of the ancestor tokens of this token.
+
+ A collection of the ancestor tokens of this token.
+
+
+
+ Returns a collection of tokens that contain this token, and the ancestors of this token.
+
+ A collection of tokens that contain this token, and the ancestors of this token.
+
+
+
+ Returns a collection of the sibling tokens after this token, in document order.
+
+ A collection of the sibling tokens after this tokens, in document order.
+
+
+
+ Returns a collection of the sibling tokens before this token, in document order.
+
+ A collection of the sibling tokens before this token, in document order.
+
+
+
+ Gets the with the specified key.
+
+ The with the specified key.
+
+
+
+ Gets the with the specified key converted to the specified type.
+
+ The type to convert the token to.
+ The token key.
+ The converted token value.
+
+
+
+ Get the first child token of this token.
+
+ A containing the first child token of the .
+
+
+
+ Get the last child token of this token.
+
+ A containing the last child token of the .
+
+
+
+ Returns a collection of the child tokens of this token, in document order.
+
+ An of containing the child tokens of this , in document order.
+
+
+
+ Returns a collection of the child tokens of this token, in document order, filtered by the specified type.
+
+ The type to filter the child tokens on.
+ A containing the child tokens of this , in document order.
+
+
+
+ Returns a collection of the child values of this token, in document order.
+
+ The type to convert the values to.
+ A containing the child values of this , in document order.
+
+
+
+ Removes this token from its parent.
+
+
+
+
+ Replaces this token with the specified token.
+
+ The value.
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Returns the indented JSON for this token.
+
+
+ ToString() returns a non-JSON string value for tokens with a type of .
+ If you want the JSON for all token types then you should use .
+
+
+ The indented JSON for this token.
+
+
+
+
+ Returns the JSON for this token using the given formatting and converters.
+
+ Indicates how the output should be formatted.
+ A collection of s which will be used when writing the token.
+ The JSON for this token using the given formatting and converters.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to [].
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to of .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from [] to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from of to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Creates a for this token.
+
+ A that can be used to read this token and its descendants.
+
+
+
+ Creates a from an object.
+
+ The object that will be used to create .
+ A with the value of the specified object.
+
+
+
+ Creates a from an object using the specified .
+
+ The object that will be used to create .
+ The that will be used when reading the object.
+ A with the value of the specified object.
+
+
+
+ Creates an instance of the specified .NET type from the .
+
+ The object type that the token will be deserialized to.
+ The new object created from the JSON value.
+
+
+
+ Creates an instance of the specified .NET type from the .
+
+ The object type that the token will be deserialized to.
+ The new object created from the JSON value.
+
+
+
+ Creates an instance of the specified .NET type from the using the specified .
+
+ The object type that the token will be deserialized to.
+ The that will be used when creating the object.
+ The new object created from the JSON value.
+
+
+
+ Creates an instance of the specified .NET type from the using the specified .
+
+ The object type that the token will be deserialized to.
+ The that will be used when creating the object.
+ The new object created from the JSON value.
+
+
+
+ Creates a from a .
+
+ A positioned at the token to read into this .
+
+ A that contains the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Creates a from a .
+
+ An positioned at the token to read into this .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+
+ A that contains the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Load a from a string that contains JSON.
+
+ A that contains JSON.
+ A populated from the string that contains JSON.
+
+
+
+ Load a from a string that contains JSON.
+
+ A that contains JSON.
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ A populated from the string that contains JSON.
+
+
+
+ Creates a from a .
+
+ A positioned at the token to read into this .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+
+ A that contains the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Creates a from a .
+
+ A positioned at the token to read into this .
+
+ A that contains the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Selects a using a JSONPath expression. Selects the token that matches the object path.
+
+
+ A that contains a JSONPath expression.
+
+ A , or null.
+
+
+
+ Selects a using a JSONPath expression. Selects the token that matches the object path.
+
+
+ A that contains a JSONPath expression.
+
+ A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.
+ A .
+
+
+
+ Selects a using a JSONPath expression. Selects the token that matches the object path.
+
+
+ A that contains a JSONPath expression.
+
+ The used to select tokens.
+ A .
+
+
+
+ Selects a collection of elements using a JSONPath expression.
+
+
+ A that contains a JSONPath expression.
+
+ An of that contains the selected elements.
+
+
+
+ Selects a collection of elements using a JSONPath expression.
+
+
+ A that contains a JSONPath expression.
+
+ A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.
+ An of that contains the selected elements.
+
+
+
+ Selects a collection of elements using a JSONPath expression.
+
+
+ A that contains a JSONPath expression.
+
+ The used to select tokens.
+ An of that contains the selected elements.
+
+
+
+ Returns the responsible for binding operations performed on this object.
+
+ The expression tree representation of the runtime value.
+
+ The to bind this object.
+
+
+
+
+ Returns the responsible for binding operations performed on this object.
+
+ The expression tree representation of the runtime value.
+
+ The to bind this object.
+
+
+
+
+ Creates a new instance of the . All child tokens are recursively cloned.
+
+ A new instance of the .
+
+
+
+ Adds an object to the annotation list of this .
+
+ The annotation to add.
+
+
+
+ Get the first annotation object of the specified type from this .
+
+ The type of the annotation to retrieve.
+ The first annotation object that matches the specified type, or null if no annotation is of the specified type.
+
+
+
+ Gets the first annotation object of the specified type from this .
+
+ The of the annotation to retrieve.
+ The first annotation object that matches the specified type, or null if no annotation is of the specified type.
+
+
+
+ Gets a collection of annotations of the specified type for this .
+
+ The type of the annotations to retrieve.
+ An that contains the annotations for this .
+
+
+
+ Gets a collection of annotations of the specified type for this .
+
+ The of the annotations to retrieve.
+ An of that contains the annotations that match the specified type for this .
+
+
+
+ Removes the annotations of the specified type from this .
+
+ The type of annotations to remove.
+
+
+
+ Removes the annotations of the specified type from this .
+
+ The of annotations to remove.
+
+
+
+ Compares tokens to determine whether they are equal.
+
+
+
+
+ Determines whether the specified objects are equal.
+
+ The first object of type to compare.
+ The second object of type to compare.
+
+ true if the specified objects are equal; otherwise, false.
+
+
+
+
+ Returns a hash code for the specified object.
+
+ The for which a hash code is to be returned.
+ A hash code for the specified object.
+ The type of is a reference type and is null.
+
+
+
+ Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
+
+
+
+
+ Gets the at the reader's current position.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The token to read from.
+
+
+
+ Initializes a new instance of the class.
+
+ The token to read from.
+ The initial path of the token. It is prepended to the returned .
+
+
+
+ Reads the next JSON token from the underlying .
+
+
+ true if the next token was read successfully; false if there are no more tokens to read.
+
+
+
+
+ Gets the path of the current JSON token.
+
+
+
+
+ Specifies the type of token.
+
+
+
+
+ No token type has been set.
+
+
+
+
+ A JSON object.
+
+
+
+
+ A JSON array.
+
+
+
+
+ A JSON constructor.
+
+
+
+
+ A JSON object property.
+
+
+
+
+ A comment.
+
+
+
+
+ An integer value.
+
+
+
+
+ A float value.
+
+
+
+
+ A string value.
+
+
+
+
+ A boolean value.
+
+
+
+
+ A null value.
+
+
+
+
+ An undefined value.
+
+
+
+
+ A date value.
+
+
+
+
+ A raw JSON value.
+
+
+
+
+ A collection of bytes value.
+
+
+
+
+ A Guid value.
+
+
+
+
+ A Uri value.
+
+
+
+
+ A TimeSpan value.
+
+
+
+
+ Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+
+
+
+
+ Gets the at the writer's current position.
+
+
+
+
+ Gets the token being written.
+
+ The token being written.
+
+
+
+ Initializes a new instance of the class writing to the given .
+
+ The container being written to.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Flushes whatever is in the buffer to the underlying .
+
+
+
+
+ Closes this writer.
+ If is set to true, the JSON is auto-completed.
+
+
+ Setting to true has no additional effect, since the underlying is a type that cannot be closed.
+
+
+
+
+ Writes the beginning of a JSON object.
+
+
+
+
+ Writes the beginning of a JSON array.
+
+
+
+
+ Writes the start of a constructor with the given name.
+
+ The name of the constructor.
+
+
+
+ Writes the end.
+
+ The token.
+
+
+
+ Writes the property name of a name/value pair on a JSON object.
+
+ The name of the property.
+
+
+
+ Writes a value.
+ An error will be raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ Writes a null value.
+
+
+
+
+ Writes an undefined value.
+
+
+
+
+ Writes raw JSON.
+
+ The raw JSON to write.
+
+
+
+ Writes a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a [] value.
+
+ The [] value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Represents a value in JSON (string, integer, date, etc).
+
+
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Gets a value indicating whether this token has child tokens.
+
+
+ true if this token has child values; otherwise, false.
+
+
+
+
+ Creates a comment with the given value.
+
+ The value.
+ A comment with the given value.
+
+
+
+ Creates a string with the given value.
+
+ The value.
+ A string with the given value.
+
+
+
+ Creates a null value.
+
+ A null value.
+
+
+
+ Creates a undefined value.
+
+ A undefined value.
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Gets or sets the underlying token value.
+
+ The underlying token value.
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of s which will be used when writing the token.
+
+
+
+ Indicates whether the current object is equal to another object of the same type.
+
+
+ true if the current object is equal to the parameter; otherwise, false.
+
+ An object to compare with this object.
+
+
+
+ Determines whether the specified is equal to the current .
+
+ The to compare with the current .
+
+ true if the specified is equal to the current ; otherwise, false.
+
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+
+
+
+ Returns a that represents this instance.
+
+
+ ToString() returns a non-JSON string value for tokens with a type of .
+ If you want the JSON for all token types then you should use .
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns the responsible for binding operations performed on this object.
+
+ The expression tree representation of the runtime value.
+
+ The to bind this object.
+
+
+
+
+ Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
+
+ An object to compare with this instance.
+
+ A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings:
+ Value
+ Meaning
+ Less than zero
+ This instance is less than .
+ Zero
+ This instance is equal to .
+ Greater than zero
+ This instance is greater than .
+
+
+ is not of the same type as this instance.
+
+
+
+
+ Specifies how line information is handled when loading JSON.
+
+
+
+
+ Ignore line information.
+
+
+
+
+ Load line information.
+
+
+
+
+ Specifies how JSON arrays are merged together.
+
+
+
+ Concatenate arrays.
+
+
+ Union arrays, skipping items that already exist.
+
+
+ Replace all array items.
+
+
+ Merge array items together, matched by index.
+
+
+
+ Specifies how null value properties are merged.
+
+
+
+
+ The content's null value properties will be ignored during merging.
+
+
+
+
+ The content's null value properties will be merged.
+
+
+
+
+ Specifies the member serialization options for the .
+
+
+
+
+ All public members are serialized by default. Members can be excluded using or .
+ This is the default member serialization mode.
+
+
+
+
+ Only members marked with or are serialized.
+ This member serialization mode can also be set by marking the class with .
+
+
+
+
+ All public and private fields are serialized. Members can be excluded using or .
+ This member serialization mode can also be set by marking the class with
+ and setting IgnoreSerializableAttribute on to false.
+
+
+
+
+ Specifies metadata property handling options for the .
+
+
+
+
+ Read metadata properties located at the start of a JSON object.
+
+
+
+
+ Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance.
+
+
+
+
+ Do not try to read metadata properties.
+
+
+
+
+ Specifies missing member handling options for the .
+
+
+
+
+ Ignore a missing member and do not attempt to deserialize it.
+
+
+
+
+ Throw a when a missing member is encountered during deserialization.
+
+
+
+
+ Specifies null value handling options for the .
+
+
+
+
+
+
+
+
+ Include null values when serializing and deserializing objects.
+
+
+
+
+ Ignore null values when serializing and deserializing objects.
+
+
+
+
+ Specifies how object creation is handled by the .
+
+
+
+
+ Reuse existing objects, create new objects when needed.
+
+
+
+
+ Only reuse existing objects.
+
+
+
+
+ Always create new objects.
+
+
+
+
+ Specifies reference handling options for the .
+ Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement .
+
+
+
+
+
+
+
+ Do not preserve references when serializing types.
+
+
+
+
+ Preserve references when serializing into a JSON object structure.
+
+
+
+
+ Preserve references when serializing into a JSON array structure.
+
+
+
+
+ Preserve references when serializing.
+
+
+
+
+ Specifies reference loop handling options for the .
+
+
+
+
+ Throw a when a loop is encountered.
+
+
+
+
+ Ignore loop references and do not serialize.
+
+
+
+
+ Serialize loop references.
+
+
+
+
+ Indicating whether a property is required.
+
+
+
+
+ The property is not required. The default state.
+
+
+
+
+ The property must be defined in JSON but can be a null value.
+
+
+
+
+ The property must be defined in JSON and cannot be a null value.
+
+
+
+
+ The property is not required but it cannot be a null value.
+
+
+
+
+
+ Contains the JSON schema extension methods.
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+
+
+
+
+ Determines whether the is valid.
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+ The source to test.
+ The schema to test with.
+
+ true if the specified is valid; otherwise, false.
+
+
+
+
+
+ Determines whether the is valid.
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+ The source to test.
+ The schema to test with.
+ When this method returns, contains any error messages generated while validating.
+
+ true if the specified is valid; otherwise, false.
+
+
+
+
+
+ Validates the specified .
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+ The source to test.
+ The schema to test with.
+
+
+
+
+ Validates the specified .
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+ The source to test.
+ The schema to test with.
+ The validation event handler.
+
+
+
+
+ An in-memory representation of a JSON Schema.
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+
+
+
+ Gets or sets the id.
+
+
+
+
+ Gets or sets the title.
+
+
+
+
+ Gets or sets whether the object is required.
+
+
+
+
+ Gets or sets whether the object is read-only.
+
+
+
+
+ Gets or sets whether the object is visible to users.
+
+
+
+
+ Gets or sets whether the object is transient.
+
+
+
+
+ Gets or sets the description of the object.
+
+
+
+
+ Gets or sets the types of values allowed by the object.
+
+ The type.
+
+
+
+ Gets or sets the pattern.
+
+ The pattern.
+
+
+
+ Gets or sets the minimum length.
+
+ The minimum length.
+
+
+
+ Gets or sets the maximum length.
+
+ The maximum length.
+
+
+
+ Gets or sets a number that the value should be divisible by.
+
+ A number that the value should be divisible by.
+
+
+
+ Gets or sets the minimum.
+
+ The minimum.
+
+
+
+ Gets or sets the maximum.
+
+ The maximum.
+
+
+
+ Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute ().
+
+ A flag indicating whether the value can not equal the number defined by the minimum attribute ().
+
+
+
+ Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute ().
+
+ A flag indicating whether the value can not equal the number defined by the maximum attribute ().
+
+
+
+ Gets or sets the minimum number of items.
+
+ The minimum number of items.
+
+
+
+ Gets or sets the maximum number of items.
+
+ The maximum number of items.
+
+
+
+ Gets or sets the of items.
+
+ The of items.
+
+
+
+ Gets or sets a value indicating whether items in an array are validated using the instance at their array position from .
+
+
+ true if items are validated using their array position; otherwise, false.
+
+
+
+
+ Gets or sets the of additional items.
+
+ The of additional items.
+
+
+
+ Gets or sets a value indicating whether additional items are allowed.
+
+
+ true if additional items are allowed; otherwise, false.
+
+
+
+
+ Gets or sets whether the array items must be unique.
+
+
+
+
+ Gets or sets the of properties.
+
+ The of properties.
+
+
+
+ Gets or sets the of additional properties.
+
+ The of additional properties.
+
+
+
+ Gets or sets the pattern properties.
+
+ The pattern properties.
+
+
+
+ Gets or sets a value indicating whether additional properties are allowed.
+
+
+ true if additional properties are allowed; otherwise, false.
+
+
+
+
+ Gets or sets the required property if this property is present.
+
+ The required property if this property is present.
+
+
+
+ Gets or sets the a collection of valid enum values allowed.
+
+ A collection of valid enum values allowed.
+
+
+
+ Gets or sets disallowed types.
+
+ The disallowed types.
+
+
+
+ Gets or sets the default value.
+
+ The default value.
+
+
+
+ Gets or sets the collection of that this schema extends.
+
+ The collection of that this schema extends.
+
+
+
+ Gets or sets the format.
+
+ The format.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Reads a from the specified .
+
+ The containing the JSON Schema to read.
+ The object representing the JSON Schema.
+
+
+
+ Reads a from the specified .
+
+ The containing the JSON Schema to read.
+ The to use when resolving schema references.
+ The object representing the JSON Schema.
+
+
+
+ Load a from a string that contains JSON Schema.
+
+ A that contains JSON Schema.
+ A populated from the string that contains JSON Schema.
+
+
+
+ Load a from a string that contains JSON Schema using the specified .
+
+ A that contains JSON Schema.
+ The resolver.
+ A populated from the string that contains JSON Schema.
+
+
+
+ Writes this schema to a .
+
+ A into which this method will write.
+
+
+
+ Writes this schema to a using the specified .
+
+ A into which this method will write.
+ The resolver used.
+
+
+
+ Returns a that represents the current .
+
+
+ A that represents the current .
+
+
+
+
+
+ Returns detailed information about the schema exception.
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+
+
+
+ Gets the line number indicating where the error occurred.
+
+ The line number indicating where the error occurred.
+
+
+
+ Gets the line position indicating where the error occurred.
+
+ The line position indicating where the error occurred.
+
+
+
+ Gets the path to the JSON where the error occurred.
+
+ The path to the JSON where the error occurred.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class
+ with a specified error message and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or null if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+
+ Generates a from a specified .
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+
+
+
+ Gets or sets how undefined schemas are handled by the serializer.
+
+
+
+
+ Gets or sets the contract resolver.
+
+ The contract resolver.
+
+
+
+ Generate a from the specified type.
+
+ The type to generate a from.
+ A generated from the specified type.
+
+
+
+ Generate a from the specified type.
+
+ The type to generate a from.
+ The used to resolve schema references.
+ A generated from the specified type.
+
+
+
+ Generate a from the specified type.
+
+ The type to generate a from.
+ Specify whether the generated root will be nullable.
+ A generated from the specified type.
+
+
+
+ Generate a from the specified type.
+
+ The type to generate a from.
+ The used to resolve schema references.
+ Specify whether the generated root will be nullable.
+ A generated from the specified type.
+
+
+
+
+ Resolves from an id.
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+
+
+
+ Gets or sets the loaded schemas.
+
+ The loaded schemas.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets a for the specified reference.
+
+ The id.
+ A for the specified reference.
+
+
+
+
+ The value types allowed by the .
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+
+
+
+ No type specified.
+
+
+
+
+ String type.
+
+
+
+
+ Float type.
+
+
+
+
+ Integer type.
+
+
+
+
+ Boolean type.
+
+
+
+
+ Object type.
+
+
+
+
+ Array type.
+
+
+
+
+ Null type.
+
+
+
+
+ Any type.
+
+
+
+
+
+ Specifies undefined schema Id handling options for the .
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+
+
+
+ Do not infer a schema Id.
+
+
+
+
+ Use the .NET type name as the schema Id.
+
+
+
+
+ Use the assembly qualified .NET type name as the schema Id.
+
+
+
+
+
+ Returns detailed information related to the .
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+
+
+
+ Gets the associated with the validation error.
+
+ The JsonSchemaException associated with the validation error.
+
+
+
+ Gets the path of the JSON location where the validation error occurred.
+
+ The path of the JSON location where the validation error occurred.
+
+
+
+ Gets the text description corresponding to the validation error.
+
+ The text description.
+
+
+
+
+ Represents the callback method that will handle JSON schema validation events and the .
+
+
+ JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.
+
+
+
+
+
+ A camel case naming strategy.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ A flag indicating whether dictionary keys should be processed.
+
+
+ A flag indicating whether explicitly specified property names should be processed,
+ e.g. a property name customized with a .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ A flag indicating whether dictionary keys should be processed.
+
+
+ A flag indicating whether explicitly specified property names should be processed,
+ e.g. a property name customized with a .
+
+
+ A flag indicating whether extension data names should be processed.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Resolves the specified property name.
+
+ The property name to resolve.
+ The resolved property name.
+
+
+
+ Resolves member mappings for a type, camel casing property names.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Resolves the contract for a given type.
+
+ The type to resolve a contract for.
+ The contract for a given type.
+
+
+
+ Used by to resolve a for a given .
+
+
+
+
+ Gets a value indicating whether members are being get and set using dynamic code generation.
+ This value is determined by the runtime permissions available.
+
+
+ true if using dynamic code generation; otherwise, false.
+
+
+
+
+ Gets or sets the default members search flags.
+
+ The default members search flags.
+
+
+
+ Gets or sets a value indicating whether compiler generated members should be serialized.
+
+
+ true if serialized compiler generated members; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types.
+
+
+ true if the interface will be ignored when serializing and deserializing types; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types.
+
+
+ true if the attribute will be ignored when serializing and deserializing types; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types.
+
+
+ true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types.
+
+
+ true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false.
+
+
+
+
+ Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized.
+
+ The naming strategy used to resolve how property names and dictionary keys are serialized.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Resolves the contract for a given type.
+
+ The type to resolve a contract for.
+ The contract for a given type.
+
+
+
+ Gets the serializable members for the type.
+
+ The type to get serializable members for.
+ The serializable members for the type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates the constructor parameters.
+
+ The constructor to create properties for.
+ The type's member properties.
+ Properties for the given .
+
+
+
+ Creates a for the given .
+
+ The matching member property.
+ The constructor parameter.
+ A created for the given .
+
+
+
+ Resolves the default for the contract.
+
+ Type of the object.
+ The contract's default .
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Determines which contract type is created for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates properties for the given .
+
+ The type to create properties for.
+ /// The member serialization mode for the type.
+ Properties for the given .
+
+
+
+ Creates the used by the serializer to get and set values from a member.
+
+ The member.
+ The used by the serializer to get and set values from a member.
+
+
+
+ Creates a for the given .
+
+ The member's parent .
+ The member to create a for.
+ A created for the given .
+
+
+
+ Resolves the name of the property.
+
+ Name of the property.
+ Resolved name of the property.
+
+
+
+ Resolves the name of the extension data. By default no changes are made to extension data names.
+
+ Name of the extension data.
+ Resolved name of the extension data.
+
+
+
+ Resolves the key of the dictionary. By default is used to resolve dictionary keys.
+
+ Key of the dictionary.
+ Resolved key of the dictionary.
+
+
+
+ Gets the resolved name of the property.
+
+ Name of the property.
+ Name of the property.
+
+
+
+ The default naming strategy. Property names and dictionary keys are unchanged.
+
+
+
+
+ Resolves the specified property name.
+
+ The property name to resolve.
+ The resolved property name.
+
+
+
+ The default serialization binder used when resolving and loading classes from type names.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ When overridden in a derived class, controls the binding of a serialized object to a type.
+
+ Specifies the name of the serialized object.
+ Specifies the name of the serialized object.
+
+ The type of the object the formatter creates a new instance of.
+
+
+
+
+ When overridden in a derived class, controls the binding of a serialized object to a type.
+
+ The type of the object the formatter creates a new instance of.
+ Specifies the name of the serialized object.
+ Specifies the name of the serialized object.
+
+
+
+ Represents a trace writer that writes to the application's instances.
+
+
+
+
+ Gets the that will be used to filter the trace messages passed to the writer.
+ For example a filter level of will exclude messages and include ,
+ and messages.
+
+
+ The that will be used to filter the trace messages passed to the writer.
+
+
+
+
+ Writes the specified trace level, message and optional exception.
+
+ The at which to write this trace.
+ The trace message.
+ The trace exception. This parameter is optional.
+
+
+
+ Provides information surrounding an error.
+
+
+
+
+ Gets the error.
+
+ The error.
+
+
+
+ Gets the original object that caused the error.
+
+ The original object that caused the error.
+
+
+
+ Gets the member that caused the error.
+
+ The member that caused the error.
+
+
+
+ Gets the path of the JSON location where the error occurred.
+
+ The path of the JSON location where the error occurred.
+
+
+
+ Gets or sets a value indicating whether this is handled.
+
+ true if handled; otherwise, false.
+
+
+
+ Provides data for the Error event.
+
+
+
+
+ Gets the current object the error event is being raised against.
+
+ The current object the error event is being raised against.
+
+
+
+ Gets the error context.
+
+ The error context.
+
+
+
+ Initializes a new instance of the class.
+
+ The current object.
+ The error context.
+
+
+
+ Get and set values for a using dynamic methods.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The member info.
+
+
+
+ Sets the value.
+
+ The target to set the value on.
+ The value to set on the target.
+
+
+
+ Gets the value.
+
+ The target to get the value from.
+ The value.
+
+
+
+ Provides methods to get attributes.
+
+
+
+
+ Returns a collection of all of the attributes, or an empty collection if there are no attributes.
+
+ When true, look up the hierarchy chain for the inherited custom attribute.
+ A collection of s, or an empty collection.
+
+
+
+ Returns a collection of attributes, identified by type, or an empty collection if there are no attributes.
+
+ The type of the attributes.
+ When true, look up the hierarchy chain for the inherited custom attribute.
+ A collection of s, or an empty collection.
+
+
+
+ Used by to resolve a for a given .
+
+
+
+
+
+
+
+
+ Resolves the contract for a given type.
+
+ The type to resolve a contract for.
+ The contract for a given type.
+
+
+
+ Used to resolve references when serializing and deserializing JSON by the .
+
+
+
+
+ Resolves a reference to its object.
+
+ The serialization context.
+ The reference to resolve.
+ The object that was resolved from the reference.
+
+
+
+ Gets the reference for the specified object.
+
+ The serialization context.
+ The object to get a reference for.
+ The reference to the object.
+
+
+
+ Determines whether the specified object is referenced.
+
+ The serialization context.
+ The object to test for a reference.
+
+ true if the specified object is referenced; otherwise, false.
+
+
+
+
+ Adds a reference to the specified object.
+
+ The serialization context.
+ The reference.
+ The object to reference.
+
+
+
+ Allows users to control class loading and mandate what class to load.
+
+
+
+
+ When implemented, controls the binding of a serialized object to a type.
+
+ Specifies the name of the serialized object.
+ Specifies the name of the serialized object
+ The type of the object the formatter creates a new instance of.
+
+
+
+ When implemented, controls the binding of a serialized object to a type.
+
+ The type of the object the formatter creates a new instance of.
+ Specifies the name of the serialized object.
+ Specifies the name of the serialized object.
+
+
+
+ Represents a trace writer.
+
+
+
+
+ Gets the that will be used to filter the trace messages passed to the writer.
+ For example a filter level of will exclude messages and include ,
+ and messages.
+
+ The that will be used to filter the trace messages passed to the writer.
+
+
+
+ Writes the specified trace level, message and optional exception.
+
+ The at which to write this trace.
+ The trace message.
+ The trace exception. This parameter is optional.
+
+
+
+ Provides methods to get and set values.
+
+
+
+
+ Sets the value.
+
+ The target to set the value on.
+ The value to set on the target.
+
+
+
+ Gets the value.
+
+ The target to get the value from.
+ The value.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Gets the of the collection items.
+
+ The of the collection items.
+
+
+
+ Gets a value indicating whether the collection type is a multidimensional array.
+
+ true if the collection type is a multidimensional array; otherwise, false.
+
+
+
+ Gets or sets the function used to create the object. When set this function will override .
+
+ The function used to create the object.
+
+
+
+ Gets a value indicating whether the creator has a parameter with the collection values.
+
+ true if the creator has a parameter with the collection values; otherwise, false.
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Gets or sets the default collection items .
+
+ The converter.
+
+
+
+ Gets or sets a value indicating whether the collection items preserve object references.
+
+ true if collection items preserve object references; otherwise, false.
+
+
+
+ Gets or sets the collection item reference loop handling.
+
+ The reference loop handling.
+
+
+
+ Gets or sets the collection item type name handling.
+
+ The type name handling.
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Handles serialization callback events.
+
+ The object that raised the callback event.
+ The streaming context.
+
+
+
+ Handles serialization error callback events.
+
+ The object that raised the callback event.
+ The streaming context.
+ The error context.
+
+
+
+ Sets extension data for an object during deserialization.
+
+ The object to set extension data on.
+ The extension data key.
+ The extension data value.
+
+
+
+ Gets extension data for an object during serialization.
+
+ The object to set extension data on.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Gets the underlying type for the contract.
+
+ The underlying type for the contract.
+
+
+
+ Gets or sets the type created during deserialization.
+
+ The type created during deserialization.
+
+
+
+ Gets or sets whether this type contract is serialized as a reference.
+
+ Whether this type contract is serialized as a reference.
+
+
+
+ Gets or sets the default for this contract.
+
+ The converter.
+
+
+
+ Gets the internally resolved for the contract's type.
+ This converter is used as a fallback converter when no other converter is resolved.
+ Setting will always override this converter.
+
+
+
+
+ Gets or sets all methods called immediately after deserialization of the object.
+
+ The methods called immediately after deserialization of the object.
+
+
+
+ Gets or sets all methods called during deserialization of the object.
+
+ The methods called during deserialization of the object.
+
+
+
+ Gets or sets all methods called after serialization of the object graph.
+
+ The methods called after serialization of the object graph.
+
+
+
+ Gets or sets all methods called before serialization of the object.
+
+ The methods called before serialization of the object.
+
+
+
+ Gets or sets all method called when an error is thrown during the serialization of the object.
+
+ The methods called when an error is thrown during the serialization of the object.
+
+
+
+ Gets or sets the default creator method used to create the object.
+
+ The default creator method used to create the object.
+
+
+
+ Gets or sets a value indicating whether the default creator is non-public.
+
+ true if the default object creator is non-public; otherwise, false.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Gets or sets the dictionary key resolver.
+
+ The dictionary key resolver.
+
+
+
+ Gets the of the dictionary keys.
+
+ The of the dictionary keys.
+
+
+
+ Gets the of the dictionary values.
+
+ The of the dictionary values.
+
+
+
+ Gets or sets the function used to create the object. When set this function will override .
+
+ The function used to create the object.
+
+
+
+ Gets a value indicating whether the creator has a parameter with the dictionary values.
+
+ true if the creator has a parameter with the dictionary values; otherwise, false.
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Gets the object's properties.
+
+ The object's properties.
+
+
+
+ Gets or sets the property name resolver.
+
+ The property name resolver.
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Gets or sets the object constructor.
+
+ The object constructor.
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Gets or sets the object member serialization.
+
+ The member object serialization.
+
+
+
+ Gets or sets the missing member handling used when deserializing this object.
+
+ The missing member handling.
+
+
+
+ Gets or sets a value that indicates whether the object's properties are required.
+
+
+ A value indicating whether the object's properties are required.
+
+
+
+
+ Gets or sets how the object's properties with null values are handled during serialization and deserialization.
+
+ How the object's properties with null values are handled during serialization and deserialization.
+
+
+
+ Gets the object's properties.
+
+ The object's properties.
+
+
+
+ Gets a collection of instances that define the parameters used with .
+
+
+
+
+ Gets or sets the function used to create the object. When set this function will override .
+ This function is called with a collection of arguments which are defined by the collection.
+
+ The function used to create the object.
+
+
+
+ Gets or sets the extension data setter.
+
+
+
+
+ Gets or sets the extension data getter.
+
+
+
+
+ Gets or sets the extension data value type.
+
+
+
+
+ Gets or sets the extension data name resolver.
+
+ The extension data name resolver.
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Maps a JSON property to a .NET member or constructor parameter.
+
+
+
+
+ Gets or sets the name of the property.
+
+ The name of the property.
+
+
+
+ Gets or sets the type that declared this property.
+
+ The type that declared this property.
+
+
+
+ Gets or sets the order of serialization of a member.
+
+ The numeric order of serialization.
+
+
+
+ Gets or sets the name of the underlying member or parameter.
+
+ The name of the underlying member or parameter.
+
+
+
+ Gets the that will get and set the during serialization.
+
+ The that will get and set the during serialization.
+
+
+
+ Gets or sets the for this property.
+
+ The for this property.
+
+
+
+ Gets or sets the type of the property.
+
+ The type of the property.
+
+
+
+ Gets or sets the for the property.
+ If set this converter takes precedence over the contract converter for the property type.
+
+ The converter.
+
+
+
+ Gets or sets the member converter.
+
+ The member converter.
+
+
+
+ Gets or sets a value indicating whether this is ignored.
+
+ true if ignored; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether this is readable.
+
+ true if readable; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether this is writable.
+
+ true if writable; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether this has a member attribute.
+
+ true if has a member attribute; otherwise, false.
+
+
+
+ Gets the default value.
+
+ The default value.
+
+
+
+ Gets or sets a value indicating whether this is required.
+
+ A value indicating whether this is required.
+
+
+
+ Gets a value indicating whether has a value specified.
+
+
+
+
+ Gets or sets a value indicating whether this property preserves object references.
+
+
+ true if this instance is reference; otherwise, false.
+
+
+
+
+ Gets or sets the property null value handling.
+
+ The null value handling.
+
+
+
+ Gets or sets the property default value handling.
+
+ The default value handling.
+
+
+
+ Gets or sets the property reference loop handling.
+
+ The reference loop handling.
+
+
+
+ Gets or sets the property object creation handling.
+
+ The object creation handling.
+
+
+
+ Gets or sets or sets the type name handling.
+
+ The type name handling.
+
+
+
+ Gets or sets a predicate used to determine whether the property should be serialized.
+
+ A predicate used to determine whether the property should be serialized.
+
+
+
+ Gets or sets a predicate used to determine whether the property should be deserialized.
+
+ A predicate used to determine whether the property should be deserialized.
+
+
+
+ Gets or sets a predicate used to determine whether the property should be serialized.
+
+ A predicate used to determine whether the property should be serialized.
+
+
+
+ Gets or sets an action used to set whether the property has been deserialized.
+
+ An action used to set whether the property has been deserialized.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Gets or sets the converter used when serializing the property's collection items.
+
+ The collection's items converter.
+
+
+
+ Gets or sets whether this property's collection items are serialized as a reference.
+
+ Whether this property's collection items are serialized as a reference.
+
+
+
+ Gets or sets the type name handling used when serializing the property's collection items.
+
+ The collection's items type name handling.
+
+
+
+ Gets or sets the reference loop handling used when serializing the property's collection items.
+
+ The collection's items reference loop handling.
+
+
+
+ A collection of objects.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The type.
+
+
+
+ When implemented in a derived class, extracts the key from the specified element.
+
+ The element from which to extract the key.
+ The key for the specified element.
+
+
+
+ Adds a object.
+
+ The property to add to the collection.
+
+
+
+ Gets the closest matching object.
+ First attempts to get an exact case match of and then
+ a case insensitive match.
+
+ Name of the property.
+ A matching property if found.
+
+
+
+ Gets a property by property name.
+
+ The name of the property to get.
+ Type property name string comparison.
+ A matching property if found.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Lookup and create an instance of the type described by the argument.
+
+ The type to create.
+ Optional arguments to pass to an initializing constructor of the JsonConverter.
+ If null, the default constructor is used.
+
+
+
+ A kebab case naming strategy.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ A flag indicating whether dictionary keys should be processed.
+
+
+ A flag indicating whether explicitly specified property names should be processed,
+ e.g. a property name customized with a .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ A flag indicating whether dictionary keys should be processed.
+
+
+ A flag indicating whether explicitly specified property names should be processed,
+ e.g. a property name customized with a .
+
+
+ A flag indicating whether extension data names should be processed.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Resolves the specified property name.
+
+ The property name to resolve.
+ The resolved property name.
+
+
+
+ Represents a trace writer that writes to memory. When the trace message limit is
+ reached then old trace messages will be removed as new messages are added.
+
+
+
+
+ Gets the that will be used to filter the trace messages passed to the writer.
+ For example a filter level of will exclude messages and include ,
+ and messages.
+
+
+ The that will be used to filter the trace messages passed to the writer.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Writes the specified trace level, message and optional exception.
+
+ The at which to write this trace.
+ The trace message.
+ The trace exception. This parameter is optional.
+
+
+
+ Returns an enumeration of the most recent trace messages.
+
+ An enumeration of the most recent trace messages.
+
+
+
+ Returns a of the most recent trace messages.
+
+
+ A of the most recent trace messages.
+
+
+
+
+ A base class for resolving how property names and dictionary keys are serialized.
+
+
+
+
+ A flag indicating whether dictionary keys should be processed.
+ Defaults to false.
+
+
+
+
+ A flag indicating whether extension data names should be processed.
+ Defaults to false.
+
+
+
+
+ A flag indicating whether explicitly specified property names,
+ e.g. a property name customized with a , should be processed.
+ Defaults to false.
+
+
+
+
+ Gets the serialized name for a given property name.
+
+ The initial property name.
+ A flag indicating whether the property has had a name explicitly specified.
+ The serialized property name.
+
+
+
+ Gets the serialized name for a given extension data name.
+
+ The initial extension data name.
+ The serialized extension data name.
+
+
+
+ Gets the serialized key for a given dictionary key.
+
+ The initial dictionary key.
+ The serialized dictionary key.
+
+
+
+ Resolves the specified property name.
+
+ The property name to resolve.
+ The resolved property name.
+
+
+
+ Hash code calculation
+
+
+
+
+
+ Object equality implementation
+
+
+
+
+
+
+ Compare to another NamingStrategy
+
+
+
+
+
+
+ Represents a method that constructs an object.
+
+ The object type to create.
+
+
+
+ When applied to a method, specifies that the method is called when an error occurs serializing an object.
+
+
+
+
+ Provides methods to get attributes from a , , or .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The instance to get attributes for. This parameter should be a , , or .
+
+
+
+ Returns a collection of all of the attributes, or an empty collection if there are no attributes.
+
+ When true, look up the hierarchy chain for the inherited custom attribute.
+ A collection of s, or an empty collection.
+
+
+
+ Returns a collection of attributes, identified by type, or an empty collection if there are no attributes.
+
+ The type of the attributes.
+ When true, look up the hierarchy chain for the inherited custom attribute.
+ A collection of s, or an empty collection.
+
+
+
+ Get and set values for a using reflection.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The member info.
+
+
+
+ Sets the value.
+
+ The target to set the value on.
+ The value to set on the target.
+
+
+
+ Gets the value.
+
+ The target to get the value from.
+ The value.
+
+
+
+ A snake case naming strategy.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ A flag indicating whether dictionary keys should be processed.
+
+
+ A flag indicating whether explicitly specified property names should be processed,
+ e.g. a property name customized with a .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ A flag indicating whether dictionary keys should be processed.
+
+
+ A flag indicating whether explicitly specified property names should be processed,
+ e.g. a property name customized with a .
+
+
+ A flag indicating whether extension data names should be processed.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Resolves the specified property name.
+
+ The property name to resolve.
+ The resolved property name.
+
+
+
+ Specifies how strings are escaped when writing JSON text.
+
+
+
+
+ Only control characters (e.g. newline) are escaped.
+
+
+
+
+ All non-ASCII and control characters (e.g. newline) are escaped.
+
+
+
+
+ HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped.
+
+
+
+
+ Indicates the method that will be used during deserialization for locating and loading assemblies.
+
+
+
+
+ In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly.
+
+
+
+
+ In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly.
+
+
+
+
+ Specifies type name handling options for the .
+
+
+ should be used with caution when your application deserializes JSON from an external source.
+ Incoming types should be validated with a custom
+ when deserializing with a value other than .
+
+
+
+
+ Do not include the .NET type name when serializing types.
+
+
+
+
+ Include the .NET type name when serializing into a JSON object structure.
+
+
+
+
+ Include the .NET type name when serializing into a JSON array structure.
+
+
+
+
+ Always include the .NET type name when serializing.
+
+
+
+
+ Include the .NET type name when the type of the object being serialized is not the same as its declared type.
+ Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON
+ you must specify a root type object with
+ or .
+
+
+
+
+ Determines whether the collection is null or empty.
+
+ The collection.
+
+ true if the collection is null or empty; otherwise, false.
+
+
+
+
+ Adds the elements of the specified collection to the specified generic .
+
+ The list to add to.
+ The collection of elements to add.
+
+
+
+ Converts the value to the specified type. If the value is unable to be converted, the
+ value is checked whether it assignable to the specified type.
+
+ The value to convert.
+ The culture to use when converting.
+ The type to convert or cast the value to.
+
+ The converted type. If conversion was unsuccessful, the initial value
+ is returned if assignable to the target type.
+
+
+
+
+ Helper method for generating a MetaObject which calls a
+ specific method on Dynamic that returns a result
+
+
+
+
+ Helper method for generating a MetaObject which calls a
+ specific method on Dynamic, but uses one of the arguments for
+ the result.
+
+
+
+
+ Helper method for generating a MetaObject which calls a
+ specific method on Dynamic, but uses one of the arguments for
+ the result.
+
+
+
+
+ Returns a Restrictions object which includes our current restrictions merged
+ with a restriction limiting our type
+
+
+
+
+ Helper class for serializing immutable collections.
+ Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed
+ https://github.com/JamesNK/Newtonsoft.Json/issues/652
+
+
+
+
+ Gets the type of the typed collection's items.
+
+ The type.
+ The type of the typed collection's items.
+
+
+
+ Gets the member's underlying type.
+
+ The member.
+ The underlying type of the member.
+
+
+
+ Determines whether the property is an indexed property.
+
+ The property.
+
+ true if the property is an indexed property; otherwise, false.
+
+
+
+
+ Gets the member's value on the object.
+
+ The member.
+ The target object.
+ The member's value on the object.
+
+
+
+ Sets the member's value on the target object.
+
+ The member.
+ The target.
+ The value.
+
+
+
+ Determines whether the specified MemberInfo can be read.
+
+ The MemberInfo to determine whether can be read.
+ /// if set to true then allow the member to be gotten non-publicly.
+
+ true if the specified MemberInfo can be read; otherwise, false.
+
+
+
+
+ Determines whether the specified MemberInfo can be set.
+
+ The MemberInfo to determine whether can be set.
+ if set to true then allow the member to be set non-publicly.
+ if set to true then allow the member to be set if read-only.
+
+ true if the specified MemberInfo can be set; otherwise, false.
+
+
+
+
+ Builds a string. Unlike this class lets you reuse its internal buffer.
+
+
+
+
+ Determines whether the string is all white space. Empty string will return false.
+
+ The string to test whether it is all white space.
+
+ true if the string is all white space; otherwise, false.
+
+
+
+
+ Specifies the state of the .
+
+
+
+
+ An exception has been thrown, which has left the in an invalid state.
+ You may call the method to put the in the Closed state.
+ Any other method calls result in an being thrown.
+
+
+
+
+ The method has been called.
+
+
+
+
+ An object is being written.
+
+
+
+
+ An array is being written.
+
+
+
+
+ A constructor is being written.
+
+
+
+
+ A property is being written.
+
+
+
+
+ A write method has not been called.
+
+
+
+ Specifies that an output will not be null even if the corresponding type allows it.
+
+
+ Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it.
+
+
+ Initializes the attribute with the specified return value condition.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+
+
+
+ Gets the return value condition.
+
+
+ Specifies that an output may be null even if the corresponding type disallows it.
+
+
+ Specifies that null is allowed as an input even if the corresponding type disallows it.
+
+
+
+ Specifies that the method will not return if the associated Boolean parameter is passed the specified value.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
+ the associated parameter matches this value.
+
+
+
+ Gets the condition parameter value.
+
+
+
diff --git a/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml.meta b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml.meta
new file mode 100644
index 0000000..eda8e5d
--- /dev/null
+++ b/Assets/Packages/Microsoft.IdentityModel.Tokens.6.22.0/lib/netstandard2.0/Microsoft.IdentityModel.Tokens.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4fa309cec6bd96309ae23cc2934c10fe
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0.meta b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0.meta
new file mode 100644
index 0000000..be2823a
--- /dev/null
+++ b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ac3bbbf4719497d33a9e4a71e44125f6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/.signature.p7s b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/.signature.p7s
new file mode 100644
index 0000000..bbe4c93
Binary files /dev/null and b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/.signature.p7s differ
diff --git a/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/System.IdentityModel.Tokens.Jwt.6.22.0.nupkg b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/System.IdentityModel.Tokens.Jwt.6.22.0.nupkg
new file mode 100644
index 0000000..6e8ea3c
Binary files /dev/null and b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/System.IdentityModel.Tokens.Jwt.6.22.0.nupkg differ
diff --git a/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/System.IdentityModel.Tokens.Jwt.6.22.0.nupkg.meta b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/System.IdentityModel.Tokens.Jwt.6.22.0.nupkg.meta
new file mode 100644
index 0000000..de977e4
--- /dev/null
+++ b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/System.IdentityModel.Tokens.Jwt.6.22.0.nupkg.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f6ed415d1f9f47d13a0b1e9f5c371dba
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib.meta b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib.meta
new file mode 100644
index 0000000..5cc9062
--- /dev/null
+++ b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d8fd5edf7d0032a01891afa34ba85f5c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0.meta b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0.meta
new file mode 100644
index 0000000..9d73fd8
--- /dev/null
+++ b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 03c3f361893a804098686deed811f178
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll
new file mode 100644
index 0000000..94f6555
Binary files /dev/null and b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll differ
diff --git a/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll.meta b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll.meta
new file mode 100644
index 0000000..9a01798
--- /dev/null
+++ b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 2e36e286c191b7924b231c378b6dd2c0
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml
new file mode 100644
index 0000000..6f2889a
--- /dev/null
+++ b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml
@@ -0,0 +1,1618 @@
+
+
+
+ System.IdentityModel.Tokens.Jwt
+
+
+
+
+ Defines the inbound and outbound mapping for claim claim types from jwt to .net claim
+
+
+
+
+ Initializes static members of the class.
+
+
+
+
+ Gets the InboundClaimTypeMap used by JwtSecurityTokenHandler when producing claims from jwt.
+
+
+
+
+ Gets the OutboundClaimTypeMap is used by JwtSecurityTokenHandler to shorten claim types when creating a jwt.
+
+
+
+
+ Constants for Json Web tokens.
+
+
+
+
+ A URI that represents the JSON XML data type.
+
+ When mapping json to .Net Claim(s), if the value was not a string (or an enumeration of strings), the ClaimValue will serialized using the current JSON serializer, a property will be added with the .Net type and the ClaimTypeValue will be set to 'JsonClaimValueType'.
+
+
+
+ A URI that represents the JSON array XML data type.
+
+ When mapping json to .Net Claim(s), if the value was not a string (or an enumeration of strings), the ClaimValue will serialized using the current JSON serializer, a property will be added with the .Net type and the ClaimTypeValue will be set to 'JsonClaimValueType'.
+
+
+
+ A URI that represents the JSON null data type
+
+ When mapping json to .Net Claim(s), we use empty string to represent the claim value and set the ClaimValueType to JsonNull
+
+
+
+ Delegate that can be set on to control serialization of objects into JSON.
+
+ Object to serialize
+ The serialized object.
+
+
+
+ Delegate that can be set on to control deserialization JSON into objects.
+
+ JSON to deserialize.
+ Type expected.
+ The deserialized object.
+
+
+
+ Dictionary extensions for serializations
+
+
+
+
+ Gets or sets a to use when serializing objects to JSON.
+
+ If 'value' is null.
+
+
+
+ Gets or sets a to use when deserializing objects from JSON.
+
+ If 'value' is null.
+
+
+
+ Serializes an object to JSON.
+
+ The object to serialize
+ The object as JSON.
+
+
+
+ Deserialzes JSON into an instance of type T.
+
+ The object type.
+ The JSON to deserialze.
+ A new instance of type T.
+
+
+
+ Deserialzes JSON into an instance of .
+
+ The JSON to deserialze.
+ A new instance .
+
+
+
+ Deserialzes JSON into an instance of .
+
+ The JSON to deserialze.
+ A new instance .
+
+
+
+ Constants for Json Web tokens.
+
+
+
+
+ Short header type.
+
+
+
+
+ Long header type.
+
+
+
+
+ Short token type.
+
+
+
+
+ Long token type.
+
+
+
+
+ JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required.
+
+
+
+
+ JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'.
+
+
+
+
+ The number of parts in a JWE token.
+
+
+
+
+ The number of parts in a JWS token.
+
+
+
+
+ The maximum number of parts in a JWT.
+
+
+
+
+ JWE header alg indicating a shared symmetric key is directly used as CEK.
+
+
+
+
+ Initializes a new instance of which contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT.
+ The member names within the JWT Header are referred to as Header Parameter Names.
+ These names MUST be unique and the values must be (s). The corresponding values are referred to as Header Parameter Values.
+
+
+
+
+ Initializes a new instance of the class. Default string comparer .
+
+
+
+
+ Initializes a new instance of .
+ With the Header Parameters:
+ { { typ, JWT }, { alg, SigningCredentials.Algorithm } }
+
+ used creating a JWS Compact JSON.
+
+
+
+ Initializes a new instance of .
+ With the Header Parameters:
+ { { typ, JWT }, { alg, EncryptingCredentials.Alg }, { enc, EncryptingCredentials.Enc } }
+
+ used creating a JWE Compact JSON.
+ If 'encryptingCredentials' is null.
+
+
+
+ Initializes a new instance of .
+ With the Header Parameters:
+ { { typ, JWT }, { alg, SigningCredentials.Algorithm } }
+
+ used when creating a JWS Compact JSON.
+ provides a mapping for the 'alg' value so that values are within the JWT namespace.
+
+
+
+ Initializes a new instance of .
+ With the Header Parameters:
+ { { typ, JWT }, { alg, SigningCredentials.Algorithm } }
+
+ used when creating a JWS Compact JSON.
+ provides a mapping for the 'alg' value so that values are within the JWT namespace.
+ will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type
+
+
+
+ Initializes a new instance of .
+ With the Header Parameters:
+ { { typ, JWT }, { alg, SigningCredentials.Algorithm } }
+
+ used when creating a JWS Compact JSON.
+ provides a mapping for the 'alg' value so that values are within the JWT namespace.
+ will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type
+ Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header.
+
+
+
+ Initializes a new instance of .
+ With the Header Parameters:
+ { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } }
+
+ used when creating a JWS Compact JSON.
+ provides a mapping for the 'alg' value so that values are within the JWT namespace.
+ If 'encryptingCredentials' is null.
+
+
+
+ Initializes a new instance of .
+ With the Header Parameters:
+ { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } }
+
+ used when creating a JWS Compact JSON.
+ provides a mapping for the 'alg' value so that values are within the JWT namespace.
+ provides the token type
+ If 'encryptingCredentials' is null.
+
+
+
+ Initializes a new instance of .
+ With the Header Parameters:
+ { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } }
+
+ used when creating a JWS Compact JSON.
+ provides a mapping for the 'alg' value so that values are within the JWT namespace.
+ provides the token type
+ Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.
+ If 'encryptingCredentials' is null.
+
+
+
+ Gets the signature algorithm that was used to create the signature.
+
+ If the signature algorithm is not found, null is returned.
+
+
+
+ Gets the content mime type (Cty) of the token.
+
+ If the content mime type is not found, null is returned.
+
+
+
+ Gets the encryption algorithm (Enc) of the token.
+
+ If the content mime type is not found, null is returned.
+
+
+
+ Gets the passed in the constructor.
+
+ This value may be null.
+
+
+
+ Gets the iv of symmetric key wrap.
+
+
+
+
+ Gets the key identifier for the security key used to sign the token
+
+
+
+
+ Gets the passed in the constructor.
+
+ This value may be null.
+
+
+
+ Gets the mime type (Typ) of the token.
+
+ If the mime type is not found, null is returned.
+
+
+
+ Gets the thumbprint of the certificate used to sign the token
+
+
+
+
+ Gets the certificate used to sign the token
+
+ If the 'x5c' claim is not found, null is returned.
+
+
+
+ Gets the 'value' of the 'zip' claim { zip, 'value' }.
+
+ If the 'zip' claim is not found, null is returned.
+
+
+
+ Deserializes Base64UrlEncoded JSON into a instance.
+
+ Base64url encoded JSON to deserialize.
+ An instance of .
+ Use to customize JSON serialization.
+
+
+
+ Encodes this instance as Base64UrlEncoded JSON.
+
+ Base64UrlEncoded JSON.
+ Use to customize JSON serialization.
+
+
+
+ Deserialzes JSON into a instance.
+
+ The JSON to deserialize.
+ An instance of .
+ Use to customize JSON serialization.
+
+
+
+ Gets a standard claim from the header.
+ A standard claim is either a string or a value of another type serialized in JSON format.
+
+ The key of the claim.
+ The standard claim string; or null if not found.
+
+
+
+ Serializes this instance to JSON.
+
+ This instance as JSON.
+ Use to customize JSON serialization.
+
+
+
+ List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5.
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10
+ Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9
+ Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#page-12
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2
+
+
+
+
+ See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3
+
+
+
+
+ Initializes a new instance of which contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }.
+
+
+
+
+ Initializes a new instance of the class with no claims. Default string comparer .
+ Creates a empty
+
+
+
+
+ Initializes a new instance of the class with . Default string comparer .
+ The claims to add.
+
+
+
+
+ Initializes a new instance of the class with claims added for each parameter specified. Default string comparer .
+
+ If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present.
+ If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present.
+ If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values.
+ If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present.
+ If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present.
+
+
+
+ Initializes a new instance of the class with claims added for each parameter specified. Default string comparer .
+
+ If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present.
+ If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present.
+ If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values.
+ If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present.
+ If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present.
+ If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' if present.
+ Comparison is set to
+ The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims'. The values will be overridden.
+ If 'expires' <= 'notbefore'.
+
+
+
+ Initializes a new instance of the class with claims added for each parameter specified. Default string comparer .
+
+ If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' and 'claimCollection' if present.
+ If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' or 'claimCollection' if present.
+ If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values.
+ If both and are not null then the values in claims will be combined with the values in claimsCollection. The values found in claimCollection take precedence over those found in claims, so any duplicate
+ values will be overridden.
+ If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' and 'claimcollection' if present.
+ If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' and 'claimcollection' if present.
+ If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' and 'claimcollection' if present.
+ Comparison is set to
+ The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims' and 'claimcollection'. The values will be overridden.
+ If 'expires' <= 'notbefore'.
+
+
+
+ Adds Nbf, Exp, Iat, Iss and Aud claims to payload
+
+ If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in instance.
+ If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in instance.
+ If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in instance.
+ If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in instance.
+ If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in instance.
+
+
+
+ Gets the 'value' of the 'actor' claim { actort, 'value' }.
+
+ If the 'actor' claim is not found, null is returned.
+
+
+
+ Gets the 'value' of the 'acr' claim { acr, 'value' }.
+
+ If the 'acr' claim is not found, null is returned.
+
+
+
+ Gets the 'value' of the 'amr' claim { amr, 'value' } as list of strings.
+
+ If the 'amr' claim is not found, an empty enumerable is returned.
+
+
+
+ Gets the 'value' of the 'auth_time' claim { auth_time, 'value' }.
+
+ If the 'auth_time' claim is not found OR could not be converted to , null is returned.
+
+
+
+ Gets the 'value' of the 'audience' claim { aud, 'value' } as a list of strings.
+
+ If the 'audience' claim is not found, an empty enumerable is returned.
+
+
+
+ Gets the 'value' of the 'azp' claim { azp, 'value' }.
+
+ If the 'azp' claim is not found, null is returned.
+
+
+
+ Gets 'value' of the 'c_hash' claim { c_hash, 'value' }.
+
+ If the 'c_hash' claim is not found, null is returned.
+
+
+
+ Gets the 'value' of the 'expiration' claim { exp, 'value' }.
+
+ If the 'expiration' claim is not found OR could not be converted to , null is returned.
+
+
+
+ Gets the 'value' of the 'JWT ID' claim { jti, 'value' }.
+
+ If the 'JWT ID' claim is not found, null is returned.
+
+
+
+ Gets the 'value' of the 'Issued At' claim { iat, 'value' }.
+
+ If the 'Issued At' claim is not found OR cannot be converted to null is returned.
+
+
+
+ Gets the 'value' of the 'issuer' claim { iss, 'value' }.
+
+ If the 'issuer' claim is not found, null is returned.
+
+
+
+ Gets the 'value' of the 'expiration' claim { nbf, 'value' }.
+
+ If the 'notbefore' claim is not found OR could not be converted to , null is returned.
+
+
+
+ Gets the 'value' of the 'nonce' claim { nonce, 'value' }.
+
+ If the 'nonce' claim is not found, null is returned.
+
+
+
+ Gets the 'value' of the 'subject' claim { sub, 'value' }.
+
+ If the 'subject' claim is not found, null is returned.
+
+
+
+ Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+
+ If the 'notbefore' claim is not found, then is returned. Time is returned as UTC.
+
+
+
+ Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+
+ If the 'expiration' claim is not found, then is returned.
+
+
+
+ Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+
+ If the 'issued at' claim is not found, then is returned.
+
+
+
+ Gets a for each JSON { name, value }.
+
+ Each (s) returned will have the translated according to the mapping found in . Adding and removing to will affect the value of the .
+ and will be set to the value of ( if null).
+
+
+
+ Adds a JSON object representing the to the
+
+ { 'Claim.Type', 'Claim.Value' } is added. If a JSON object is found with the name == then a { 'Claim.Type', List<object> } will be created to contain the duplicate values.
+ See For details on how is applied.
+ 'claim' is null.
+
+
+
+ Adds a number of to the as JSON { name, value } pairs.
+
+ For each a JSON pair { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values.
+
+ Any in the that is null, will be ignored.
+ is null.
+
+
+
+ Adds claims from dictionary.
+
+ A dictionary of claims.
+ If a key is already present in target dictionary, its value is overridden by the value of the key in claimsCollection.
+
+
+
+ Gets the DateTime using the number of seconds from 1970-01-01T0:0:0Z (UTC)
+
+ Claim in the payload that should map to an integer.
+ If the claim is not found, the function returns: DateTime.MinValue
+
+ If an overflow exception is thrown by the runtime.
+ The DateTime representation of a claim.
+
+
+
+ Serializes this instance to JSON.
+
+ This instance as JSON.
+ Use to customize JSON serialization.
+
+
+
+ Encodes this instance as Base64UrlEncoded JSON.
+
+ Base64UrlEncoded JSON.
+ Use to customize JSON serialization.
+
+
+
+ Deserializes Base64UrlEncoded JSON into a instance.
+
+ base64url encoded JSON to deserialize.
+ An instance of .
+ Use to customize JSON serialization.
+
+
+
+ Deserialzes JSON into a instance.
+
+ The JSON to deserialize.
+ An instance of .
+ Use to customize JSON serialization.
+
+
+
+ List of registered claims from different sources
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+ http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+
+
+
+
+
+
+
+
+ http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+
+
+
+
+ http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+
+
+
+
+ http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken
+
+
+
+
+ http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
+
+
+
+
+
+
+
+
+ https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+
+
+
+
+ http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-4
+
+
+
+
+ https://datatracker.ietf.org/doc/html/rfc7519#section-5
+
+
+
+
+
+
+
+
+
+
+
+
+ A designed for representing a JSON Web Token (JWT).
+
+
+
+
+ Initializes a new instance of from a string in JWS Compact serialized format.
+
+ A JSON Web Token that has been serialized in JWS Compact serialized format.
+ 'jwtEncodedString' is null.
+ 'jwtEncodedString' contains only whitespace.
+ 'jwtEncodedString' is not in JWS Compact serialized format.
+
+ The contents of this have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using
+
+
+
+
+ Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations.
+
+ Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT
+ Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }
+ base64urlencoded JwtHeader
+ base64urlencoded JwtPayload
+ base64urlencoded JwtSignature
+ 'header' is null.
+ 'payload' is null.
+ 'rawSignature' is null.
+ 'rawHeader' or 'rawPayload' is null or whitespace.
+
+
+
+ Initializes an instance of where the contains the crypto algorithms applied to the innerToken .
+
+ Defines cryptographic operations applied to the 'innerToken'.
+
+ base64urlencoded key
+ base64urlencoded JwtHeader
+ base64urlencoded initialization vector.
+ base64urlencoded encrypted innerToken
+ base64urlencoded authentication tag.
+ 'header' is null.
+ 'innerToken' is null.
+ 'rawHeader' is null.
+ 'rawEncryptedKey' is null.
+ 'rawInitialVector' is null or empty.
+ 'rawCiphertext' is null or empty.
+ 'rawAuthenticationTag' is null or empty.
+
+
+
+ Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations.
+
+ Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT
+ Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }
+ 'header' is null.
+ 'payload' is null.
+
+
+
+ Initializes a new instance of the class specifying optional parameters.
+
+ If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present.
+ If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present.
+ If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values.
+ If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present.
+ If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present.
+ The that will be used to sign the . See for details pertaining to the Header Parameter(s).
+ If 'expires' <= 'notbefore'.
+
+
+
+ Gets the 'value' of the 'actor' claim { actort, 'value' }.
+
+ If the 'actor' claim is not found, null is returned.
+
+
+
+ Gets the list of 'audience' claim { aud, 'value' }.
+
+ If the 'audience' claim is not found, enumeration will be empty.
+
+
+
+ Gets the (s) for this token.
+ If this is a JWE token, this property only returns the encrypted claims;
+ the unencrypted claims should be read from the header seperately.
+
+ (s) returned will NOT have the translated according to
+
+
+
+ Gets the Base64UrlEncoded associated with this instance.
+
+
+
+
+ Gets the Base64UrlEncoded associated with this instance.
+
+
+
+
+ Gets the associated with this instance if the token is signed.
+
+
+
+
+ Gets the 'value' of the 'JWT ID' claim { jti, ''value' }.
+
+ If the 'JWT ID' claim is not found, an empty string is returned.
+
+
+
+ Gets the 'value' of the 'issuer' claim { iss, 'value' }.
+
+ If the 'issuer' claim is not found, an empty string is returned.
+
+
+
+ Gets the associated with this instance.
+ Note that if this JWT is nested ( != null, this property represents the payload of the most inner token.
+ This property can be null if the content type of the most inner token is unrecognized, in that case
+ the content of the token is the string returned by PlainText property.
+
+
+
+
+ Gets the associated with this instance.
+
+
+
+
+ Gets the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed to one of the two constructors
+ or
+
+
+
+ Gets the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed to one of the two constructors
+ or
+
+
+
+ Gets the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed to one of the two constructors
+ or
+
+
+
+ Gets the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed to one of the two constructors
+ or
+
+
+
+ Gets the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed to one of the two constructors
+ or
+
+
+
+ Gets the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed to one of the two constructors
+ or
+
+
+
+ Gets the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed to one of the two constructors
+ or
+
+
+
+ Gets the original raw data of this instance when it was created.
+
+ The original JSON Compact serialized format passed to one of the two constructors
+ or
+
+
+
+ Gets the s for this instance.
+
+
+
+
+ Gets the signature algorithm associated with this instance.
+
+ If there is a associated with this instance, a value will be returned. Null otherwise.
+
+
+
+ Gets the to use when writing this token.
+
+
+
+
+ Gets the to use when writing this token.
+
+
+
+
+ Gets or sets the that signed this instance.
+
+ .ValidateSignature(...) sets this value when a is used to successfully validate a signature.
+
+
+
+ Gets the "value" of the 'subject' claim { sub, 'value' }.
+
+ If the 'subject' claim is not found, null is returned.
+
+
+
+ Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+
+ If the 'notbefore' claim is not found, then is returned.
+
+
+
+ Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+
+ If the 'expiration' claim is not found, then is returned.
+
+
+
+ Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+
+ If the 'issued at' claim is not found, then is returned.
+
+
+
+ Serializes the and
+
+ A string containing the header and payload in JSON format.
+
+
+
+ Decodes the string into the header, payload and signature.
+
+ the tokenized string.
+ the original token.
+
+
+
+ Decodes the payload and signature from the JWS parts.
+
+ Parts of the JWS including the header.
+ Assumes Header has already been set.
+
+
+
+ Decodes the payload and signature from the JWE parts.
+
+ Parts of the JWE including the header.
+ Assumes Header has already been set.
+
+
+
+ A designed for creating and validating Json Web Tokens. See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515
+
+
+
+
+ Default claim type mapping for inbound claims.
+
+
+
+
+ Default value for the flag that determines whether or not the InboundClaimTypeMap is used.
+
+
+
+
+ Default claim type mapping for outbound claims.
+
+
+
+
+ Default claim type filter list.
+
+
+
+
+ Default JwtHeader algorithm mapping
+
+
+
+
+ Static initializer for a new object. Static initializers run before the first instance of the type is created.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a .
+ If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs.
+ The default value is true.
+
+
+
+
+ Gets or sets the which is used when setting the for claims in the extracted when validating a .
+ The is set to the JSON claim 'name' after translating using this mapping.
+ The default value is ClaimTypeMapping.InboundClaimTypeMap.
+
+ 'value' is null.
+
+
+
+ Gets or sets the which is used when creating a from (s).
+ The JSON claim 'name' value is set to after translating using this mapping.
+ The default value is ClaimTypeMapping.OutboundClaimTypeMap
+
+ This mapping is applied only when using or . Adding values directly will not result in translation.
+ 'value' is null.
+
+
+
+ Gets the outbound algorithm map that is passed to the constructor.
+
+
+
+ Gets or sets the used to filter claims when populating a claims form a .
+ When a is validated, claims with types found in this will not be added to the .
+ The default value is ClaimTypeMapping.InboundClaimFilter.
+
+ 'value' is null.
+
+
+
+ Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created.
+ See for more information.
+
+ If .IsNullOrWhiteSpace('value') is true.
+
+
+
+ Gets or sets the property name of the will contain .Net type that was recognized when serialized the value to JSON.
+ See for more information.
+
+ If .IsNullOrWhiteSpace('value') is true.
+
+
+
+ Returns a value that indicates if this handler can validate a .
+
+ 'true', indicating this instance can validate a .
+
+
+
+ Gets the value that indicates if this instance can write a .
+
+ 'true', indicating this instance can write a .
+
+
+
+ Gets the type of the .
+
+ The type of
+
+
+
+ Determines if the string is a well formed Json Web Token (JWT).
+ See: https://datatracker.ietf.org/doc/html/rfc7519
+
+ String that should represent a valid JWT.
+ Uses matching one of:
+ JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$"
+ JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$"
+ JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$"
+
+
+ 'false' if the token is null or whitespace.
+ 'false' if token.Length is greater than .
+ 'true' if the token is in JSON compact serialization format.
+
+
+
+
+ Returns a Json Web Token (JWT).
+
+ A that contains details of contents of the token.
+ A JWS and JWE can be returned.
+ If is provided, then a JWE will be created.
+ If is provided then a JWS will be created.
+ If both are provided then a JWE with an embedded JWS will be created.
+
+
+
+
+ Creates a JWT in 'Compact Serialization Format'.
+
+ The issuer of the token.
+ The audience for this token.
+ The source of the (s) for this token.
+ The notbefore time for this token.
+ The expiration time for this token.
+ The issue time for this token.
+ Contains cryptographic material for generating a signature.
+ If is not null, then a claim { actort, 'value' } will be added to the payload. See for details on how the value is created.
+ See for details on how the HeaderParameters are added to the header.
+ See for details on how the values are added to the payload.
+ Each in the will map by applying . Modifying could change the outbound JWT.
+ If is provided, then a JWS will be created.
+
+ A Base64UrlEncoded string in 'Compact Serialization Format'.
+
+
+
+ Creates a JWT in 'Compact Serialization Format'.
+
+ The issuer of the token.
+ The audience for this token.
+ The source of the (s) for this token.
+ Translated into 'epoch time' and assigned to 'nbf'.
+ Translated into 'epoch time' and assigned to 'exp'.
+ Translated into 'epoch time' and assigned to 'iat'.
+ Contains cryptographic material for signing.
+ Contains cryptographic material for encrypting.
+ If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created.
+ See for details on how the HeaderParameters are added to the header.
+ See for details on how the values are added to the payload.
+ Each in the will map by applying . Modifying could change the outbound JWT.
+
+ A Base64UrlEncoded string in 'Compact Serialization Format'.
+ If 'expires' <= 'notBefore'.
+
+
+
+ Creates a JWT in 'Compact Serialization Format'.
+
+ The issuer of the token.
+ The audience for this token.
+ The source of the (s) for this token.
+ Translated into 'epoch time' and assigned to 'nbf'.
+ Translated into 'epoch time' and assigned to 'exp'.
+ Translated into 'epoch time' and assigned to 'iat'.
+ Contains cryptographic material for signing.
+ Contains cryptographic material for encrypting.
+ A collection of (key,value) pairs representing (s) for this token.
+ If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created.
+ See for details on how the HeaderParameters are added to the header.
+ See for details on how the values are added to the payload.
+ Each in the will map by applying . Modifying could change the outbound JWT.
+
+ A Base64UrlEncoded string in 'Compact Serialization Format'.
+ If 'expires' <= 'notBefore'.
+
+
+
+ Creates a Json Web Token (JWT).
+
+ A that contains details of contents of the token.
+ is used to sign .
+
+
+
+ Creates a
+
+ The issuer of the token.
+ The audience for this token.
+ The source of the (s) for this token.
+ The notbefore time for this token.
+ The expiration time for this token.
+ The issue time for this token.
+ Contains cryptographic material for generating a signature.
+ Contains cryptographic material for encrypting the token.
+ If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created.
+ See for details on how the HeaderParameters are added to the header.
+ See for details on how the values are added to the payload.
+ Each on the added will have translated according to the mapping found in
+ . Adding and removing to will affect the name component of the Json claim.
+ is used to sign .
+ is used to encrypt or .
+
+ A .
+ If <= .
+
+
+
+ Creates a
+
+ The issuer of the token.
+ The audience for this token.
+ The source of the (s) for this token.
+ The notbefore time for this token.
+ The expiration time for this token.
+ The issue time for this token.
+ Contains cryptographic material for generating a signature.
+ Contains cryptographic material for encrypting the token.
+ A collection of (key,value) pairs representing (s) for this token.
+ If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created.
+ See for details on how the HeaderParameters are added to the header.
+ See for details on how the values are added to the payload.
+ Each on the added will have translated according to the mapping found in
+ . Adding and removing to will affect the name component of the Json claim.
+ is used to sign .
+ is used to encrypt or .
+
+ A .
+ If <= .
+
+
+
+ Creates a
+
+ The issuer of the token.
+ The audience for this token.
+ The source of the (s) for this token.
+ The notbefore time for this token.
+ The expiration time for this token.
+ The issue time for this token.
+ Contains cryptographic material for generating a signature.
+ If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created.
+ See for details on how the HeaderParameters are added to the header.
+ See for details on how the values are added to the payload.
+ Each on the added will have translated according to the mapping found in
+ . Adding and removing to will affect the name component of the Json claim.
+ is used to sign .
+
+ A .
+ If <= .
+
+
+
+ Creates a Json Web Token (JWT).
+
+ A that contains details of contents of the token.
+ is used to sign .
+
+
+
+ Converts a string into an instance of .
+
+ A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.
+ A
+ is null or empty.
+ 'token.Length' is greater than .
+
+ If the is in JWE Compact Serialization format, only the protected header will be deserialized.
+ This method is unable to decrypt the payload. Use to obtain the payload.
+
+
+
+ Converts a string into an instance of .
+
+ A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.
+ A
+ is null or empty.
+ 'token.Length' is greater than .
+
+ If the is in JWE Compact Serialization format, only the protected header will be deserialized.
+ This method is unable to decrypt the payload. Use to obtain the payload.
+
+
+
+ Deserializes token with the provided .
+
+ .
+ The current .
+ The
+ This method is not current supported.
+
+
+
+ Reads and validates a 'JSON Web Token' (JWT) encoded as a JWS or JWE in Compact Serialized Format.
+
+ the JWT encoded as JWE or JWS
+ Contains validation parameters for the .
+ The that was validated.
+ is null or whitespace.
+ is null.
+ .Length is greater than .
+ does not have 3 or 5 parts.
+ returns false.
+ was a JWE was not able to be decrypted.
+ 'kid' header claim is not null AND decryption fails.
+ 'enc' header claim is null or empty.
+ 'exp' claim is < DateTime.UtcNow.
+ is null or whitespace and is null. Audience is not validated if is set to false.
+ 'aud' claim did not match either or one of .
+ 'nbf' claim is > 'exp' claim.
+ .signature is not properly formatted.
+ 'exp' claim is missing and is true.
+ is not null and expirationTime.HasValue is false. When a TokenReplayCache is set, tokens require an expiration time.
+ 'nbf' claim is > DateTime.UtcNow.
+ could not be added to the .
+ is found in the cache.
+ A from the JWT. Does not include claims found in the JWT header.
+
+ Many of the exceptions listed above are not thrown directly from this method. See to examine the call graph.
+
+
+
+
+ Private method for token validation, responsible for:
+ (1) Obtaining a configuration from the .
+ (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it.
+
+ The JWS string, or the decrypted token if the token is a JWE.
+ If the token being validated is a JWE, this is the that represents the outer token.
+ If the token is a JWS, the value of this parameter is .
+
+ The to be used for validation.
+ The that was validated.
+ A from the JWT. Does not include claims found in the JWT header.
+
+
+
+ Validates the JSON payload of a .
+
+ The token to validate.
+ Contains validation parameters for the .
+ A from the jwt. Does not include the header claims.
+
+
+
+ Serializes a into a JWT in Compact Serialization Format.
+
+ to serialize.
+
+ The JWT will be serialized as a JWE or JWS.
+ will be used to create the JWT. If there is an inner token, the inner token's payload will be used.
+ If either or .SigningCredentials are set, the JWT will be signed.
+ If is set, a JWE will be created using the JWT above as the plaintext.
+
+ is null.
+ 'token' is not a not .
+ both and are set.
+ both and .EncryptingCredentials are set.
+ if is set and is not set.
+ A JWE or JWS in 'Compact Serialization Format'.
+
+
+
+ Obtains a and validates the signature.
+
+ Bytes to validate.
+ Signature to compare against.
+ to use.
+ Crypto algorithm to use.
+ The being validated.
+ Priority will be given to over .
+ 'true' if signature is valid.
+
+
+
+ Validates that the signature, if found or required, is valid.
+
+ A JWS token.
+ that contains signing keys.
+ If is null or whitespace.
+ If is null.
+ If a signature is not found and is true.
+
+ If the has a key identifier and none of the (s) provided result in a validated signature.
+ This can indicate that a key refresh is required.
+
+
+ If the has a key identifier and none of the (s) provided result in a validated signature as well as the token
+ had validation errors or lifetime or issuer. This is not intended to be a signal to refresh keys.
+
+ If after trying all the (s), none result in a validated signature AND the does not have a key identifier.
+ A that has the signature validated if token was signed.
+ If the is signed, the signature is validated even if is false.
+ If the signature is validated, then the will be set to the key that signed the 'token'.It is the responsibility of to set the
+
+
+
+ Creates a from a .
+
+ The to use as a source.
+ The value to set
+ Contains parameters for validating the token.
+ A containing the .
+
+
+
+ Creates the 'value' for the actor claim: { actort, 'value' }
+
+ as actor.
+ representing the actor.
+ If is not null:
+ If 'type' is 'string', return as string.
+ if 'type' is 'BootstrapContext' and 'BootstrapContext.SecurityToken' is 'JwtSecurityToken'
+ if 'JwtSecurityToken.RawData' != null, return RawData.
+ else return .
+ if 'BootstrapContext.Token' != null, return 'Token'.
+ default: new ( ( actor.Claims ).
+
+ 'actor' is null.
+
+
+
+ Determines if the audiences found in a are valid.
+
+ The audiences found in the .
+ The being validated.
+ required for validation.
+ See for additional details.
+
+
+
+ Validates the lifetime of a .
+
+ The value of the 'nbf' claim if it exists in the 'jwtToken'.
+ The value of the 'exp' claim if it exists in the 'jwtToken'.
+ The being validated.
+ required for validation.
+ for additional details.
+
+
+
+ Determines if the issuer found in a is valid.
+
+ The issuer to validate
+ The that is being validated.
+ required for validation.
+ The issuer to use when creating the (s) in the .
+ for additional details.
+
+
+
+ Determines if a is already validated.
+
+ The value of the 'exp' claim if it exists in the '.
+ The that is being validated.
+ required for validation.
+
+
+
+ Returns a to use when validating the signature of a token.
+
+ The representation of the token that is being validated.
+ The that is being validated.
+ A required for validation.
+ Returns a to use for signature validation.
+ If key fails to resolve, then null is returned
+
+
+
+ Returns a to use when decryption a JWE.
+
+ The the token that is being decrypted.
+ The that is being decrypted.
+ A required for validation.
+ Returns a to use for signature validation.
+ If key fails to resolve, then null is returned
+
+
+
+ Decrypts a JWE and returns the clear text
+
+ the JWE that contains the cypher text.
+ contains crypto material.
+ the decoded / cleartext contents of the JWE.
+ if is null.
+ if is null.
+ if 'jwtToken.Header.enc' is null or empty.
+ if 'jwtToken.Header.kid' is not null AND decryption fails.
+ if the JWE was not able to be decrypted.
+
+
+
+ Validates the is an expected value.
+
+ The that signed the .
+ The to validate.
+ The current .
+ If the is a then the X509Certificate2 will be validated using the CertificateValidator.
+
+
+
+ Serializes to XML a token of the type handled by this instance.
+
+ The XML writer.
+ A token of type .
+
+
+
+
+
+
+ Log messages and codes
+
+
+
+
diff --git a/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml.meta b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml.meta
new file mode 100644
index 0000000..b51252b
--- /dev/null
+++ b/Assets/Packages/System.IdentityModel.Tokens.Jwt.6.22.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ca5970719add546e7830f6c94ee959ef
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/packages.config b/Assets/packages.config
new file mode 100644
index 0000000..454fc61
--- /dev/null
+++ b/Assets/packages.config
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/packages.config.meta b/Assets/packages.config.meta
new file mode 100644
index 0000000..d691080
--- /dev/null
+++ b/Assets/packages.config.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: 5b1699a96bdf7db4581e39dfa5d96243
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant: