This commit is contained in:
Raúl Pimienta
2021-12-26 23:59:41 -07:00
parent be961b72bf
commit 5e4ef8649e
12 changed files with 12933 additions and 254 deletions

View File

@@ -231,7 +231,10 @@
Decodes the payload and signature from the JWE parts.
</summary>
<param name="tokenParts">Parts of the JWE including the header.</param>
<remarks>Assumes Header has already been set.</remarks>
<remarks>
Assumes Header has already been set.
According to the JWE documentation (https://tools.ietf.org/html/rfc7516#section-2), it is possible for the EncryptedKey, InitializationVector, and AuthenticationTag to be empty strings.
</remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.DecodeJws(System.String[])">
<summary>
@@ -240,17 +243,41 @@
<param name="tokenParts">Parts of the JWS including the header.</param>
<remarks>Assumes Header has already been set.</remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.GetClaim(System.String)">
<summary>
Gets a <see cref="T:System.Security.Claims.Claim"/> representing the { key, 'value' } pair corresponding to the provided <paramref name="key"/>.
</summary>
<remarks>If the key has no corresponding value, this method will throw.</remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.GetPayloadValue``1(System.String)">
<summary>
Gets the 'value' corresponding to the provided key from the JWT payload { key, 'value' }.
</summary>
<remarks>If the key has no corresponding value, returns null. </remarks>
<remarks>If the key has no corresponding value, this method will throw. </remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.TryGetClaim(System.String,System.Security.Claims.Claim@)">
<summary>
Tries to get the <see cref="T:System.Security.Claims.Claim"/> representing the { key, 'value' } pair corresponding to the provided <paramref name="key"/>.
</summary>
<remarks>If the key has no corresponding value, returns false. Otherwise returns true. </remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.TryGetPayloadValue``1(System.String,``0@)">
<summary>
Tries to get the 'value' corresponding to the provided key from the JWT payload { key, 'value' }.
</summary>
<remarks>If the key has no corresponding value, returns false. Otherwise returns true. </remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.GetHeaderValue``1(System.String)">
<summary>
Gets the 'value' corresponding to the provided key from the JWT header { key, 'value' }.
</summary>
<remarks>If the key has no corresponding value, returns null. </remarks>
<remarks>If the key has no corresponding value, this method will throw. </remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.TryGetHeaderValue``1(System.String,``0@)">
<summary>
Tries to get the value corresponding to the provided key from the JWT header { key, 'value' }.
</summary>
<remarks>If the key has no corresponding value, returns false. Otherwise returns true. </remarks>
</member>
<member name="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler">
<summary>
@@ -258,6 +285,13 @@
See: http://tools.ietf.org/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515.
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.Base64UrlEncodedUnsignedJWSHeader">
<summary>
Gets the Base64Url encoded string representation of the following JWT header:
{ <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Alg"/>, <see cref="F:Microsoft.IdentityModel.Tokens.SecurityAlgorithms.None"/> }.
</summary>
<return>The Base64Url encoded string representation of the unsigned JWT header.</return>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.TokenType">
<summary>
Gets the type of the <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.
@@ -287,14 +321,64 @@
</summary>
<returns>'true', indicating this instance can validate a <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String)">
<summary>
Creates an unsigned JWS (Json Web Signature).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<returns>A JWS in Compact Serialization Format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates an unsigned JWS (Json Web Signature).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null.</exception>
<returns>A JWS in Compact Serialization Format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials)">
<summary>
Creates a JWS (Json Web Signature).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWS.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<returns>A JWS in Compact Serialization Format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates a JWS (Json Web Signature).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWS.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Alg"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Kid"/>
<see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.X5t"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Enc"/>, and/or <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Zip"/>
are present inside of <paramref name="additionalHeaderClaims"/>.</exception>
<returns>A JWS in Compact Serialization Format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor)">
<summary>
Creates a JWS(Json Web Signature).
</summary>
<param name="tokenDescriptor">A <see cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor"/> that contains details of contents of the token.</param>
<returns>A JWS in Compact Serialization Format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials)">
<summary>
Creates a JWE (Json Web Encryption).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials)">
<summary>
Creates a JWE (Json Web Encryption).
@@ -302,6 +386,35 @@
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWT.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates a JWE (Json Web Encryption).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWT.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Alg"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Kid"/>
<see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.X5t"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Enc"/>, and/or <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Zip"/>
are present inside of <paramref name="additionalHeaderClaims"/>.</exception>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String)">
<summary>
Creates a JWE (Json Web Encryption).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<param name="compressionAlgorithm">Defines the compression algorithm that will be used to compress the JWT token payload.</param>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String)">
@@ -312,6 +425,29 @@
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWT.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<param name="compressionAlgorithm">Defines the compression algorithm that will be used to compress the JWT token payload.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="compressionAlgorithm"/> is null.</exception>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates a JWE (Json Web Encryption).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWT.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<param name="compressionAlgorithm">Defines the compression algorithm that will be used to compress the JWT token payload.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="compressionAlgorithm"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Alg"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Kid"/>
<see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.X5t"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Enc"/>, and/or <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Zip"/>
are present inside of <paramref name="additionalHeaderClaims"/>.</exception>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CompressToken(System.String,System.String)">
@@ -319,22 +455,19 @@
Compress a JWT token string.
</summary>
<param name="token"></param>
<param name="algorithm"></param>
<exception cref="T:System.ArgumentNullException">if 'token' is null.</exception>
<exception cref="T:System.ArgumentNullException">if 'algorithm' is null.</exception>
<param name="compressionAlgorithm"></param>
<exception cref="T:System.ArgumentNullException">if <paramref name="token"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="compressionAlgorithm"/> is null.</exception>
<exception cref="T:System.NotSupportedException">if the compression algorithm is not supported.</exception>
<returns>Compressed JWT token bytes.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.DecompressToken(System.Byte[],System.String)">
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateClaimsIdentity(Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
Decompress JWT token bytes.
Creates a <see cref="T:System.Security.Claims.ClaimsIdentity"/> from a <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.
</summary>
<param name="tokenBytes"></param>
<param name="algorithm"></param>
<exception cref="T:System.ArgumentNullException">if 'tokenBytes' is null.</exception>
<exception cref="T:System.ArgumentNullException">if 'algorithm' is null.</exception>
<exception cref="T:System.NotSupportedException">if the decompression algorithm is not supported.</exception>
<returns>Decompressed JWT token</returns>
<param name="jwtToken">The <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> to use as a <see cref="T:System.Security.Claims.Claim"/> source.</param>
<param name="validationParameters"> Contains parameters for validating the token.</param>
<returns>A <see cref="T:System.Security.Claims.ClaimsIdentity"/> containing the <see cref="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Claims"/>.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.DecryptToken(Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
@@ -343,21 +476,78 @@
<param name="jwtToken">the JWE that contains the cypher text.</param>
<param name="validationParameters">contains crypto material.</param>
<returns>the decoded / cleartext contents of the JWE.</returns>
<exception cref="T:System.ArgumentNullException">if 'jwtToken' is null.</exception>
<exception cref="T:System.ArgumentNullException">if 'validationParameters' is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if 'jwtToken.Enc' is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="jwtToken"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="validationParameters"/> is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if '<paramref name="jwtToken"/> .Enc' is null or empty.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecompressionFailedException">if decompression failed.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionKeyNotFoundException">if 'jwtToken.Kid' is not null AND decryption fails.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionKeyNotFoundException">if '<paramref name="jwtToken"/> .Kid' is not null AND decryption fails.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecryptionFailedException">if the JWE was not able to be decrypted.</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ResolveIssuerSigningKey(Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.EncryptToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials)">
<summary>
Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use when validating the signature of a token.
Encrypts a JWS.
</summary>
<param name="jwtToken">The <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> that is being validated.</param>
<param name="validationParameters">A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationParameters"/> required for validation.</param>
<returns>Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use for signature validation.</returns>
<remarks>If key fails to resolve, then null is returned</remarks>
<param name="innerJwt">A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the <paramref name="innerJwt"/>.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="innerJwt"/> is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentException">if both <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.CryptoProviderFactory"/> and <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/>.<see cref="T:Microsoft.IdentityModel.Tokens.CryptoProviderFactory"/> are null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if the CryptoProviderFactory being used does not support the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if unable to create a token encryption provider for the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if encryption fails using the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">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).</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.EncryptToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Encrypts a JWS.
</summary>
<param name="innerJwt">A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the <paramref name="innerJwt"/>.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="innerJwt"/> is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null.</exception>
<exception cref="T:System.ArgumentException">if both <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.CryptoProviderFactory"/> and <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/>.<see cref="T:Microsoft.IdentityModel.Tokens.CryptoProviderFactory"/> are null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if the CryptoProviderFactory being used does not support the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if unable to create a token encryption provider for the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if encryption fails using the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">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).</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.EncryptToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String)">
<summary>
Encrypts a JWS.
</summary>
<param name="innerJwt">A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the <paramref name="innerJwt"/>.</param>
<param name="algorithm">Defines the compression algorithm that will be used to compress the 'innerJwt'.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="innerJwt"/> is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="algorithm"/> is null or empty.</exception>
<exception cref="T:System.ArgumentException">if both <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.CryptoProviderFactory"/> and <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/>.<see cref="T:Microsoft.IdentityModel.Tokens.CryptoProviderFactory"/> are null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if the CryptoProviderFactory being used does not support the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if unable to create a token encryption provider for the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenCompressionFailedException">if compression using <paramref name="algorithm"/> fails.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if encryption fails using the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">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).</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.EncryptToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Encrypts a JWS.
</summary>
<param name="innerJwt">A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the <paramref name="innerJwt"/>.</param>
<param name="algorithm">Defines the compression algorithm that will be used to compress the 'innerJwt'.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="innerJwt"/> is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="algorithm"/> is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null or empty.</exception>
<exception cref="T:System.ArgumentException">if both <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.CryptoProviderFactory"/> and <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/>.<see cref="T:Microsoft.IdentityModel.Tokens.CryptoProviderFactory"/> are null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if the CryptoProviderFactory being used does not support the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if unable to create a token encryption provider for the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenCompressionFailedException">if compression using 'algorithm' fails.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if encryption fails using the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">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).</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ResolveTokenDecryptionKey(System.String,Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
@@ -395,14 +585,14 @@
</summary>
<param name="token">A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.</param>
<param name="validationParameters">A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationParameters"/> required for validation.</param>
<returns>A <see cref="T:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult"/></returns>
<returns>A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationResult"/></returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateSignature(System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
Validates the JWT signature.
</summary>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateSignature(System.Byte[],System.Byte[],Microsoft.IdentityModel.Tokens.SecurityKey,System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateSignature(System.Byte[],System.Byte[],Microsoft.IdentityModel.Tokens.SecurityKey,System.String,Microsoft.IdentityModel.Tokens.SecurityToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
Obtains a <see cref="T:Microsoft.IdentityModel.Tokens.SignatureProvider"/> and validates the signature.
</summary>
@@ -410,6 +600,7 @@
<param name="signature">Signature to compare against.</param>
<param name="key"><See cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use.</param>
<param name="algorithm">Crypto algorithm to use.</param>
<param name="securityToken">The <see cref="T:Microsoft.IdentityModel.Tokens.SecurityToken"/> being validated.</param>
<param name="validationParameters">Priority will be given to <see cref="P:Microsoft.IdentityModel.Tokens.TokenValidationParameters.CryptoProviderFactory"/> over <see cref="P:Microsoft.IdentityModel.Tokens.SecurityKey.CryptoProviderFactory"/>.</param>
<returns>'true' if signature is valid.</returns>
</member>
@@ -544,7 +735,6 @@
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Actort">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Acr">
@@ -574,12 +764,12 @@
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Birthdate">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.CHash">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.AtHash">
@@ -589,7 +779,7 @@
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Email">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Exp">
@@ -599,17 +789,17 @@
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Gender">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.FamilyName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.GivenName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Iat">
@@ -627,14 +817,18 @@
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Name">
<summary>
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.NameId">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Nonce">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Nbf">
@@ -642,9 +836,18 @@
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.PhoneNumber">
<summary>
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.PhoneNumberVerified">
<summary>
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Prn">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Sid">
@@ -659,17 +862,70 @@
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Typ">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://tools.ietf.org/html/rfc7519#section-5
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.UniqueName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Website">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="T:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters">
<summary>
Represents the parameters needed to decrypt a JSON Web Token
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.Alg">
<summary>
Gets or sets signature algorithm that was used to create the signature.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.AuthenticationTag">
<summary>
Gets or sets the AuthenticationTag from the original raw data of this instance when it was created.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.Ciphertext">
<summary>
Gets or sets the Ciphertext from the original raw data of this instance when it was created.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.DecompressionFunction">
<summary>
Gets or sets the function used to attempt decompression with.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.Enc">
<summary>
Gets or sets the encryption algorithm (Enc) of the token.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.EncodedHeader">
<summary>
Gets the EncodedHeader from the original raw data of this instance when it was created.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.EncodedToken">
<summary>
Gets or sets the EncodedHeader from the original raw data of this instance when it was created.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.InitializationVector">
<summary>
Gets or sets the InitializationVector from the original raw data of this instance when it was created.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.Keys">
<summary>
Gets or sets the collection of <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/>s to attempt to decrypt with.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.Zip">
<summary>
Gets or sets the 'value' of the 'zip' claim.
</summary>
</member>
<member name="T:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities">
@@ -696,6 +952,37 @@
<returns>The bse64urlendcoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ).</returns>
<exception cref="T:System.ArgumentNullException">'input' or 'signingCredentials' is null.</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.CreateEncodedSignature(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,System.Boolean)">
<summary>
Produces a signature over the 'input'.
</summary>
<param name="input">String to be signed</param>
<param name="signingCredentials">The <see cref="T:Microsoft.IdentityModel.Tokens.SigningCredentials"/> that contain crypto specs used to sign the token.</param>
<param name="cacheProvider">should the <see cref="T:Microsoft.IdentityModel.Tokens.SignatureProvider"/> be cached.</param>
<returns>The bse64urlendcoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ).</returns>
<exception cref="T:System.ArgumentNullException">'input' or 'signingCredentials' is null.</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.DecompressToken(System.Byte[],System.String)">
<summary>
Decompress JWT token bytes.
</summary>
<param name="tokenBytes"></param>
<param name="algorithm"></param>
<exception cref="T:System.ArgumentNullException">if <paramref name="tokenBytes"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="algorithm"/> is null.</exception>
<exception cref="T:System.NotSupportedException">if the decompression <paramref name="algorithm"/> is not supported.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecompressionFailedException">if decompression using <paramref name="algorithm"/> fails.</exception>
<returns>Decompressed JWT token</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.DecryptJwtToken(Microsoft.IdentityModel.Tokens.SecurityToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters,Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters)">
<summary>
Decrypts a Json Web Token.
</summary>
<param name="jwtToken">The Json Web Token</param>
<param name="validationParameters">The validation parameters containing cryptographic material.</param>
<param name="decryptionParameters">The decryption parameters container.</param>
<returns>The decrypted, and if the 'zip' claim is set, decompressed string representation of the token.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.GenerateKeyBytes(System.Int32)">
<summary>
Generates key bytes.
@@ -706,7 +993,7 @@
Gets all decryption keys.
</summary>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.GetDateTime(System.String,Newtonsoft.Json.Linq.JObject)">
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.GetDateTime(System.String,Microsoft.IdentityModel.Json.Linq.JObject)">
<summary>
Gets the DateTime using the number of seconds from 1970-01-01T0:0:0Z (UTC)
</summary>
@@ -717,20 +1004,20 @@
<exception cref="T:System.FormatException">If the value of the claim cannot be parsed into a long.</exception>
<returns>The DateTime representation of a claim.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.ResolveTokenSigningKey(System.String,System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use when validating the signature of a token.
</summary>
<param name="kid">The <see cref="T:System.String"/> kid field of the token being validated</param>
<param name="x5t">The <see cref="T:System.String"/> x5t field of the token being validated</param>
<param name="validationParameters">A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationParameters"/> required for validation.</param>
<returns>Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use for signature validation.</returns>
<remarks>If key fails to resolve, then null is returned</remarks>
</member>
<member name="T:Microsoft.IdentityModel.JsonWebTokens.LogMessages">
<summary>
Log messages and codes
</summary>
</member>
<member name="T:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult">
<summary>
A class which contains the result of a token validation operation.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.SecurityToken">
<summary>
The validated security token.
</summary>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -201,6 +201,16 @@
<param name="signingCredentials"><see cref="P:System.IdentityModel.Tokens.Jwt.JwtHeader.SigningCredentials"/> used when creating a JWS Compact JSON.</param>
<param name="outboundAlgorithmMap">provides a mapping for the 'alg' value so that values are within the JWT namespace.</param>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtHeader.#ctor(Microsoft.IdentityModel.Tokens.SigningCredentials,System.Collections.Generic.IDictionary{System.String,System.String},System.String)">
<summary>
Initializes a new instance of <see cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/>.
With the Header Parameters:
<para>{ { typ, JWT }, { alg, SigningCredentials.Algorithm } }</para>
</summary>
<param name="signingCredentials"><see cref="P:System.IdentityModel.Tokens.Jwt.JwtHeader.SigningCredentials"/> used when creating a JWS Compact JSON.</param>
<param name="outboundAlgorithmMap">provides a mapping for the 'alg' value so that values are within the JWT namespace.</param>
<param name="tokenType"> will be added as the value for the 'typ' claim in the header. If it is null or empty <see cref="F:System.IdentityModel.Tokens.Jwt.JwtConstants.HeaderType"/> will be used as token type</param>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtHeader.#ctor(Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.String})">
<summary>
Initializes a new instance of <see cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/>.
@@ -209,7 +219,18 @@
</summary>
<param name="encryptingCredentials"><see cref="P:System.IdentityModel.Tokens.Jwt.JwtHeader.EncryptingCredentials"/> used when creating a JWS Compact JSON.</param>
<param name="outboundAlgorithmMap">provides a mapping for the 'alg' value so that values are within the JWT namespace.</param>
<exception cref="T:System.ArgumentNullException">If 'signingCredentials' is null.</exception>
<exception cref="T:System.ArgumentNullException">If 'encryptingCredentials' is null.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtHeader.#ctor(Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.String},System.String)">
<summary>
Initializes a new instance of <see cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/>.
With the Header Parameters:
<para>{ { typ, JWT }, { alg, SigningCredentials.Algorithm } }</para>
</summary>
<param name="encryptingCredentials"><see cref="P:System.IdentityModel.Tokens.Jwt.JwtHeader.EncryptingCredentials"/> used when creating a JWS Compact JSON.</param>
<param name="outboundAlgorithmMap">provides a mapping for the 'alg' value so that values are within the JWT namespace.</param>
<param name="tokenType"> provides the token type</param>
<exception cref="T:System.ArgumentNullException">If 'encryptingCredentials' is null.</exception>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtHeader.Alg">
<summary>
@@ -262,6 +283,18 @@
Gets the thumbprint of the certificate used to sign the token
</summary>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtHeader.X5c">
<summary>
Gets the certificate used to sign the token
</summary>
<remarks>If the 'x5c' claim is not found, null is returned.</remarks>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtHeader.Zip">
<summary>
Gets the 'value' of the 'zip' claim { zip, 'value' }.
</summary>
<remarks>If the 'zip' claim is not found, null is returned.</remarks>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtHeader.Base64UrlDeserialize(System.String)">
<summary>
Deserializes Base64UrlEncoded JSON into a <see cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/> instance.
@@ -388,26 +421,52 @@
<summary>
Initializes a new instance of the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> class with claims added for each parameter specified. Default string comparer <see cref="P:System.StringComparer.Ordinal"/>.
</summary>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added</param>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present.</param>
<param name="claims">If this value is not null then for each <see cref="T:System.Security.Claims.Claim"/> a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List&lt;object&gt; } will be created to contain the duplicate values.</param>
<param name="notBefore">If notbefore.HasValue is 'true' a { nbf, 'value' } claim is added.</param>
<param name="expires">If expires.HasValue is 'true' a { exp, 'value' } claim is added.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present.</param>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtPayload.#ctor(System.String,System.String,System.Collections.Generic.IEnumerable{System.Security.Claims.Claim},System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
<summary>
Initializes a new instance of the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> class with claims added for each parameter specified. Default string comparer <see cref="P:System.StringComparer.Ordinal"/>.
</summary>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added</param>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present.</param>
<param name="claims">If this value is not null then for each <see cref="T:System.Security.Claims.Claim"/> a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List&lt;object&gt; } will be created to contain the duplicate values.</param>
<param name="notBefore">If notbefore.HasValue is 'true' a { nbf, 'value' } claim is added.</param>
<param name="expires">If expires.HasValue is 'true' a { exp, 'value' } claim is added.</param>
<param name="issuedAt">If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present.</param>
<param name="issuedAt">If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' if present.</param>
<remarks>Comparison is set to <see cref="P:System.StringComparer.Ordinal"/>
<para>The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precednece over <see cref="T:System.Security.Claims.Claim"/>(s) in 'claims'. The values in 'claims' will be overridden.</para></remarks>
<para>The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over <see cref="T:System.Security.Claims.Claim"/>(s) in 'claims'. The values will be overridden.</para></remarks>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notbefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtPayload.#ctor(System.String,System.String,System.Collections.Generic.IEnumerable{System.Security.Claims.Claim},System.Collections.Generic.IDictionary{System.String,System.Object},System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
<summary>
Initializes a new instance of the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> class with claims added for each parameter specified. Default string comparer <see cref="P:System.StringComparer.Ordinal"/>.
</summary>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' and 'claimCollection' if present.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' or 'claimCollection' if present.</param>
<param name="claims">If this value is not null then for each <see cref="T:System.Security.Claims.Claim"/> a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List&lt;object&gt; } will be created to contain the duplicate values.</param>
<param name="claimsCollection">If both <paramref name="claims"/> and <paramref name="claimsCollection"/> 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.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' and 'claimcollection' if present.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' and 'claimcollection' if present.</param>
<param name="issuedAt">If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' and 'claimcollection' if present.</param>
<remarks>Comparison is set to <see cref="P:System.StringComparer.Ordinal"/>
<para>The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over <see cref="T:System.Security.Claims.Claim"/>(s) in 'claims' and 'claimcollection'. The values will be overridden.</para></remarks>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notbefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtPayload.AddFirstPriorityClaims(System.String,System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
<summary>
Adds Nbf, Exp, Iat, Iss and Aud claims to payload
</summary>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> instance.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> instance.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> instance.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> instance.</param>
<param name="issuedAt">If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> instance.</param>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtPayload.Actort">
<summary>
Gets the 'value' of the 'actor' claim { actort, 'value' }.
@@ -504,6 +563,12 @@
</summary>
<remarks>If the 'expiration' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtPayload.IssuedAt">
<summary>
Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a <see cref="T:System.DateTime"/> assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
</summary>
<remarks>If the 'issued at' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtPayload.Claims">
<summary>
Gets a <see cref="T:System.Collections.Generic.IEnumerable`1"/><see cref="T:System.Security.Claims.Claim"/> for each JSON { name, value }.
@@ -526,7 +591,14 @@
<param name="claims">For each <see cref="T:System.Security.Claims.Claim"/> a JSON pair { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List&lt;object&gt; } will be created to contain the duplicate values.</param>
<remarks>
<para>Any <see cref="T:System.Security.Claims.Claim"/> in the <see cref="T:System.Collections.Generic.IEnumerable`1"/> that is null, will be ignored.</para></remarks>
<exception cref="T:System.ArgumentNullException">'claims' is null.</exception>
<exception cref="T:System.ArgumentNullException"><paramref name="claims"/> is null.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtPayload.AddDictionaryClaims(System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Adds claims from dictionary.
</summary>
<param name="claimsCollection"> A dictionary of claims.</param>
<remark> If a key is already present in target dictionary, its value is overridden by the value of the key in claimsCollection.</remark>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtPayload.GetDateTime(System.String)">
<summary>
@@ -577,7 +649,6 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Actort">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Acr">
@@ -607,12 +678,12 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Birthdate">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.CHash">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.AtHash">
@@ -622,7 +693,7 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Email">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Exp">
@@ -632,17 +703,17 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Gender">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.FamilyName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.GivenName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Iat">
@@ -660,14 +731,18 @@
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Name">
<summary>
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.NameId">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Nonce">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Nbf">
@@ -677,7 +752,6 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Prn">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Sid">
@@ -692,17 +766,15 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Typ">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
http://tools.ietf.org/html/rfc7519#section-5
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.UniqueName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Website">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken">
@@ -768,11 +840,11 @@
<summary>
Initializes a new instance of the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/> class specifying optional parameters.
</summary>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added</param>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present.</param>
<param name="claims">If this value is not null then for each <see cref="T:System.Security.Claims.Claim"/> a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List&lt;object&gt; } will be created to contain the duplicate values.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present.</param>
<param name="signingCredentials">The <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.SigningCredentials"/> that will be used to sign the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/>. See <see cref="M:System.IdentityModel.Tokens.Jwt.JwtHeader.#ctor(Microsoft.IdentityModel.Tokens.SigningCredentials)"/> for details pertaining to the Header Parameter(s).</param>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notbefore'.</exception>
</member>
@@ -826,7 +898,7 @@
<member name="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.Payload">
<summary>
Gets the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> associated with this instance.
Note that if this JWT is nested ( <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.InnerToken"/> != null, this property represnts the payload of the most inner token.
Note that if this JWT is nested ( <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.InnerToken"/> != 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.
</summary>
@@ -937,6 +1009,12 @@
</summary>
<remarks>If the 'expiration' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.IssuedAt">
<summary>
Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a <see cref="T:System.DateTime"/> assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
</summary>
<remarks>If the 'issued at' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.ToString">
<summary>
Serializes the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/> and <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/>
@@ -1139,6 +1217,27 @@
<returns>A Base64UrlEncoded string in 'Compact Serialization Format'.</returns>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notBefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateEncodedJwt(System.String,System.String,System.Security.Claims.ClaimsIdentity,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime},Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates a JWT in 'Compact Serialization Format'.
</summary>
<param name="issuer">The issuer of the token.</param>
<param name="audience">The audience for this token.</param>
<param name="subject">The source of the <see cref="T:System.Security.Claims.Claim"/>(s) for this token.</param>
<param name="notBefore">Translated into 'epoch time' and assigned to 'nbf'.</param>
<param name="expires">Translated into 'epoch time' and assigned to 'exp'.</param>
<param name="issuedAt">Translated into 'epoch time' and assigned to 'iat'.</param>
<param name="signingCredentials">Contains cryptographic material for signing.</param>
<param name="encryptingCredentials">Contains cryptographic material for encrypting.</param>
<param name="claimCollection">A collection of (key,value) pairs representing <see cref="T:System.Security.Claims.Claim"/>(s) for this token.</param>
<remarks>If <see cref="P:System.Security.Claims.ClaimsIdentity.Actor"/> is not null, then a claim { actort, 'value' } will be added to the payload. <see cref="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateActorValue(System.Security.Claims.ClaimsIdentity)"/> for details on how the value is created.
<para>See <seealso cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/> for details on how the HeaderParameters are added to the header.</para>
<para>See <seealso cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> for details on how the values are added to the payload.</para>
<para>Each <see cref="T:System.Security.Claims.Claim"/> in the <paramref name="subject"/> will map <see cref="P:System.Security.Claims.Claim.Type"/> by applying <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.OutboundClaimTypeMap"/>. Modifying <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.OutboundClaimTypeMap"/> could change the outbound JWT.</para>
</remarks>
<returns>A Base64UrlEncoded string in 'Compact Serialization Format'.</returns>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notBefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateJwtSecurityToken(Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor)">
<summary>
Creates a Json Web Token (JWT).
@@ -1169,6 +1268,30 @@
<returns>A <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/>.</returns>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notBefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateJwtSecurityToken(System.String,System.String,System.Security.Claims.ClaimsIdentity,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime},Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates a <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/>
</summary>
<param name="issuer">The issuer of the token.</param>
<param name="audience">The audience for this token.</param>
<param name="subject">The source of the <see cref="T:System.Security.Claims.Claim"/>(s) for this token.</param>
<param name="notBefore">The notbefore time for this token.</param>
<param name="expires">The expiration time for this token.</param>
<param name="issuedAt">The issue time for this token.</param>
<param name="signingCredentials">Contains cryptographic material for generating a signature.</param>
<param name="encryptingCredentials">Contains cryptographic material for encrypting the token.</param>
<param name="claimCollection">A collection of (key,value) pairs representing <see cref="T:System.Security.Claims.Claim"/>(s) for this token.</param>
<remarks>If <see cref="P:System.Security.Claims.ClaimsIdentity.Actor"/> is not null, then a claim { actort, 'value' } will be added to the payload. <see cref="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateActorValue(System.Security.Claims.ClaimsIdentity)"/> for details on how the value is created.
<para>See <seealso cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/> for details on how the HeaderParameters are added to the header.</para>
<para>See <seealso cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> for details on how the values are added to the payload.</para>
<para>Each <see cref="T:System.Security.Claims.Claim"/> on the <paramref name="subject"/> added will have <see cref="P:System.Security.Claims.Claim.Type"/> translated according to the mapping found in
<see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.OutboundClaimTypeMap"/>. Adding and removing to <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.OutboundClaimTypeMap"/> will affect the name component of the Json claim.</para>
<para><see cref="M:Microsoft.IdentityModel.Tokens.SigningCredentials.#ctor(Microsoft.IdentityModel.Tokens.SecurityKey,System.String)"/> is used to sign <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.RawData"/>.</para>
<para><see cref="M:Microsoft.IdentityModel.Tokens.EncryptingCredentials.#ctor(Microsoft.IdentityModel.Tokens.SecurityKey,System.String,System.String)"/> is used to encrypt <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.RawData"/> or <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.RawPayload"/> .</para>
</remarks>
<returns>A <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/>.</returns>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notBefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateJwtSecurityToken(System.String,System.String,System.Security.Claims.ClaimsIdentity,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime},Microsoft.IdentityModel.Tokens.SigningCredentials)">
<summary>
Creates a <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/>
@@ -1204,7 +1327,7 @@
<param name="token">A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.</param>
<returns>A <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/></returns>
<exception cref="T:System.ArgumentNullException">'token' is null or empty.</exception>
<exception cref="T:System.ArgumentException">'token.Length' $gt; <see cref="P:Microsoft.IdentityModel.Tokens.TokenHandler.MaximumTokenSizeInBytes"/>.</exception>
<exception cref="T:System.ArgumentException">'token.Length' is greater than <see cref="P:Microsoft.IdentityModel.Tokens.TokenHandler.MaximumTokenSizeInBytes"/>.</exception>
<exception cref="T:System.ArgumentException"><see cref="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CanReadToken(System.String)"/></exception>
<remarks><para>If the 'token' is in JWE Compact Serialization format, only the protected header will be deserialized.</para>
This method is unable to decrypt the payload. Use <see cref="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateToken(System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters,Microsoft.IdentityModel.Tokens.SecurityToken@)"/>to obtain the payload.</remarks>
@@ -1239,7 +1362,7 @@
<param name="validatedToken">The <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/> that was validated.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="token"/> is null or whitespace.</exception>
<exception cref="T:System.ArgumentNullException"><paramref name="validationParameters"/> is null.</exception>
<exception cref="T:System.ArgumentException"><paramref name="token"/>.Length $gt; MamimumTokenSizeInBytes.</exception>
<exception cref="T:System.ArgumentException"><paramref name="token"/>.Length is greater than <see cref="P:Microsoft.IdentityModel.Tokens.TokenHandler.MaximumTokenSizeInBytes"/>.</exception>
<exception cref="T:System.ArgumentException"><paramref name="token"/> does not have 3 or 5 parts.</exception>
<exception cref="T:System.ArgumentException"><see cref="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CanReadToken(System.String)"/> returns false.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecryptionFailedException"><paramref name="token"/> was a JWE was not able to be decrypted.</exception>
@@ -1257,7 +1380,7 @@
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenReplayDetectedException"><paramref name="token"/> is found in the cache.</exception>
<returns> A <see cref="T:System.Security.Claims.ClaimsPrincipal"/> from the JWT. Does not include claims found in the JWT header.</returns>
<remarks>
Many of the exceptions listed above are not thrown directly from this method. See <see cref="T:Microsoft.IdentityModel.Tokens.Validators"/> to examin the call graph.
Many of the exceptions listed above are not thrown directly from this method. See <see cref="T:Microsoft.IdentityModel.Tokens.Validators"/> to examine the call graph.
</remarks>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateTokenPayload(System.IdentityModel.Tokens.Jwt.JwtSecurityToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
@@ -1286,7 +1409,7 @@
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.InnerToken"/> is set and <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.EncryptingCredentials"/> is not set.</exception>
<returns>A JWE or JWS in 'Compact Serialization Format'.</returns>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature(System.Byte[],System.Byte[],Microsoft.IdentityModel.Tokens.SecurityKey,System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature(System.Byte[],System.Byte[],Microsoft.IdentityModel.Tokens.SecurityKey,System.String,Microsoft.IdentityModel.Tokens.SecurityToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
Obtains a <see cref="T:Microsoft.IdentityModel.Tokens.SignatureProvider"/> and validates the signature.
</summary>
@@ -1294,6 +1417,7 @@
<param name="signature">Signature to compare against.</param>
<param name="key"><See cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use.</param>
<param name="algorithm">Crypto algorithm to use.</param>
<param name="securityToken">The <see cref="T:Microsoft.IdentityModel.Tokens.SecurityToken"/> being validated.</param>
<param name="validationParameters">Priority will be given to <see cref="P:Microsoft.IdentityModel.Tokens.TokenValidationParameters.CryptoProviderFactory"/> over <see cref="P:Microsoft.IdentityModel.Tokens.SecurityKey.CryptoProviderFactory"/>.</param>
<returns>'true' if signature is valid.</returns>
</member>
@@ -1306,8 +1430,14 @@
<exception cref="T:System.ArgumentNullException">If 'jwt' is null or whitespace.</exception>
<exception cref="T:System.ArgumentNullException">If 'validationParameters' is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenValidationException">If a signature is not found and <see cref="P:Microsoft.IdentityModel.Tokens.TokenValidationParameters.RequireSignedTokens"/> is true.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException">If the 'token' has a key identifier and none of the <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/>(s) provided result in a validated signature.
This can indicate that a key refresh is required.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException">
If the 'token' has a key identifier and none of the <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/>(s) provided result in a validated signature.
This can indicate that a key refresh is required.
</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenUnableToValidateException">
If the 'token' has a key identifier and none of the <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/>(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.
</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException">If after trying all the <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/>(s), none result in a validated signature AND the 'token' does not have a key identifier.</exception>
<returns>A <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/> that has the signature validated if token was signed.</returns>
<remarks><para>If the 'token' is signed, the signature is validated even if <see cref="P:Microsoft.IdentityModel.Tokens.TokenValidationParameters.RequireSignedTokens"/> is false.</para>

Binary file not shown.