Class JwtValidator
- Namespace
- JWT
- Assembly
- Coherence.JWT.dll
Jwt validator.
public sealed class JwtValidator : IJwtValidator
- Inheritance
-
JwtValidator
- Implements
Constructors
JwtValidator(IJsonSerializer, IDateTimeProvider)
Creates an instance of JwtValidator
public JwtValidator(IJsonSerializer jsonSerializer, IDateTimeProvider dateTimeProvider)
Parameters
jsonSerializerIJsonSerializerThe JSON serializer
dateTimeProviderIDateTimeProviderThe DateTime provider
JwtValidator(IJsonSerializer, IDateTimeProvider, ValidationParameters)
Creates an instance of JwtValidator with time margin
public JwtValidator(IJsonSerializer jsonSerializer, IDateTimeProvider dateTimeProvider, ValidationParameters valParams)
Parameters
jsonSerializerIJsonSerializerThe JSON serializer
dateTimeProviderIDateTimeProviderThe DateTime provider
valParamsValidationParametersValidation parameters that are passed on to JwtValidator
JwtValidator(IJsonSerializer, IDateTimeProvider, ValidationParameters, IBase64UrlEncoder)
Creates an instance of JwtValidator with time margin
public JwtValidator(IJsonSerializer jsonSerializer, IDateTimeProvider dateTimeProvider, ValidationParameters valParams, IBase64UrlEncoder urlEncoder)
Parameters
jsonSerializerIJsonSerializerThe JSON serializer
dateTimeProviderIDateTimeProviderThe DateTime provider
valParamsValidationParametersValidation parameters that are passed on to JwtValidator
urlEncoderIBase64UrlEncoderThe base64 URL Encoder
Methods
GetValidationException(JwtParts)
public Exception GetValidationException(JwtParts parts)
Parameters
partsJwtParts
Returns
GetValidationException(byte[])
public Exception GetValidationException(byte[] bytes)
Parameters
bytesbyte[]
Returns
TryValidate(string, IAsymmetricAlgorithm, byte[], byte[], out Exception)
Given the JWT, verifies its signatures correctness without throwing an exception but returning it instead.
public bool TryValidate(string payloadJson, IAsymmetricAlgorithm alg, byte[] bytesToSign, byte[] decodedSignature, out Exception ex)
Parameters
payloadJsonstringAn arbitrary payload (already serialized to JSON)
algIAsymmetricAlgorithmThe asymmetric algorithm to validate with
bytesToSignbyte[]The header and payload bytes to validate
decodedSignaturebyte[]The decodedSignatures to validate with
exExceptionValidation exception, if any
Returns
- bool
True if exception is JWT is valid and exception is null, otherwise false
Exceptions
TryValidate(string, string, string, out Exception)
Given the JWT, verifies its signature correctness without throwing an exception but returning it instead.
public bool TryValidate(string payloadJson, string signature, string decodedSignature, out Exception ex)
Parameters
payloadJsonstringAn arbitrary payload (already serialized to JSON)
signaturestringDecoded body
decodedSignaturestringThe signature to validate with
exExceptionThe resulting validation exception, if any
Returns
- bool
Returns
trueif exception is JWT is valid and exception is null, otherwise false
Exceptions
TryValidate(string, string, string[], out Exception)
Given the JWT, verifies its signature correctness without throwing an exception but returning it instead.
public bool TryValidate(string payloadJson, string signature, string[] decodedSignature, out Exception ex)
Parameters
payloadJsonstringAn arbitrary payload (already serialized to JSON)
signaturestringDecoded body
decodedSignaturestring[]The signatures to validate with
exExceptionThe resulting validation exception, if any
Returns
- bool
Returns
trueif exception is JWT is valid and exception is null, otherwise false
Exceptions
Validate(string, IAsymmetricAlgorithm, byte[], byte[])
Given the JWT, verifies its signature correctness.
public void Validate(string decodedPayload, IAsymmetricAlgorithm alg, byte[] bytesToSign, byte[] decodedSignature)
Parameters
decodedPayloadstringAn arbitrary payload (already serialized to JSON)
algIAsymmetricAlgorithmThe asymmetric algorithm to validate with
bytesToSignbyte[]The header and payload bytes to validate
decodedSignaturebyte[]The signature to validate with
Remarks
Used by the asymmetric algorithms only.
Exceptions
Validate(string, string, params string[])
Given the JWT, verifies its signature correctness.
public void Validate(string decodedPayload, string signature, params string[] decodedSignatures)
Parameters
decodedPayloadstringAn arbitrary payload (already serialized to JSON)
signaturestringDecoded body
decodedSignaturesstring[]The signatures to validate with