Class JwtDecoder
- Namespace
- JWT
- Assembly
- Coherence.JWT.dll
Decodes JWT.
public sealed class JwtDecoder : IJwtDecoder
- Inheritance
-
JwtDecoder
- Implements
- Extension Methods
Constructors
JwtDecoder(IJsonSerializer, IBase64UrlEncoder)
Creates an instance of JwtDecoder
public JwtDecoder(IJsonSerializer jsonSerializer, IBase64UrlEncoder urlEncoder)
Parameters
jsonSerializerIJsonSerializerThe JSON serializer
urlEncoderIBase64UrlEncoderThe base64 URL encoder
Remarks
This overload supplies no IJwtValidator and no IAlgorithmFactory so the resulting decoder cannot be used for signature validation.
Exceptions
JwtDecoder(IJsonSerializer, IJwtValidator, IBase64UrlEncoder, IAlgorithmFactory)
Creates an instance of JwtDecoder
public JwtDecoder(IJsonSerializer jsonSerializer, IJwtValidator jwtValidator, IBase64UrlEncoder urlEncoder, IAlgorithmFactory algFactory)
Parameters
jsonSerializerIJsonSerializerThe JSON serializer
jwtValidatorIJwtValidatorThe JWT validator
urlEncoderIBase64UrlEncoderThe base64 URL encoder
algFactoryIAlgorithmFactoryThe JWT algorithm Factory
Exceptions
JwtDecoder(IJsonSerializer, IJwtValidator, IBase64UrlEncoder, IJwtAlgorithm)
Creates an instance of JwtDecoder
public JwtDecoder(IJsonSerializer jsonSerializer, IJwtValidator jwtValidator, IBase64UrlEncoder urlEncoder, IJwtAlgorithm algorithm)
Parameters
jsonSerializerIJsonSerializerThe JSON serializer
jwtValidatorIJwtValidatorThe JWT validator
urlEncoderIBase64UrlEncoderThe base64 URL encoder
algorithmIJwtAlgorithmThe JWT algorithm
Exceptions
Methods
Decode(JwtParts, bool)
Given a JWT, decodes it and return the payload.
public string Decode(JwtParts jwt, bool verify)
Parameters
Returns
- string
A string containing the JSON payload
Exceptions
- ArgumentException
- ArgumentNullException
- ArgumentOutOfRangeException
- InvalidTokenPartsException
- FormatException
- SignatureVerificationException
- TokenNotYetValidException
- TokenExpiredException
Decode(JwtParts, byte[], bool)
Given a JWT, decodes it and return the payload.
public string Decode(JwtParts jwt, byte[] key, bool verify)
Parameters
jwtJwtPartsThe JWT
keybyte[]The key that were used to sign the JWT
verifyboolWhether to verify the signature (default is true)
Returns
- string
A string containing the JSON payload
Exceptions
- ArgumentException
- ArgumentNullException
- ArgumentOutOfRangeException
- InvalidTokenPartsException
- FormatException
- SignatureVerificationException
- TokenNotYetValidException
- TokenExpiredException
Decode(JwtParts, byte[][], bool)
Given a JWT, decodes it and return the payload.
public string Decode(JwtParts jwt, byte[][] keys, bool verify)
Parameters
jwtJwtPartsThe JWT
keysbyte[][]The keys provided which one of them was used to sign the JWT
verifyboolWhether to verify the signature (default is true)
Returns
- string
A string containing the JSON payload
Exceptions
- ArgumentException
- ArgumentNullException
- ArgumentOutOfRangeException
- FormatException
- SignatureVerificationException
- TokenNotYetValidException
- TokenExpiredException
DecodeHeader(string)
Given a JWT, decodes it and return the header.
public string DecodeHeader(string token)
Parameters
tokenstringThe JWT
Returns
Exceptions
DecodeHeader<T>(JwtParts)
Given a JWT, decodes it and return the header as an object.
public T DecodeHeader<T>(JwtParts jwt)
Parameters
jwtJwtPartsThe JWT
Returns
- T
Type Parameters
T
Exceptions
DecodeToObject(Type, JwtParts, bool)
Given a JWT, decodes it and return the payload as an object.
public object DecodeToObject(Type type, JwtParts jwt, bool verify)
Parameters
typeTypeThe type to deserialize to.
jwtJwtPartsThe JWT
verifyboolWhether to verify the signature (default is true)
Returns
- object
An object representing the payload
Exceptions
- ArgumentException
- ArgumentNullException
- ArgumentOutOfRangeException
- FormatException
- SignatureVerificationException
- TokenNotYetValidException
- TokenExpiredException
DecodeToObject(Type, JwtParts, byte[], bool)
Given a JWT, decodes it and return the payload as an object.
public object DecodeToObject(Type type, JwtParts jwt, byte[] key, bool verify)
Parameters
typeTypeThe type to deserialize to.
jwtJwtPartsThe JWT
keybyte[]The key that was used to sign the JWT
verifyboolWhether to verify the signature (default is true)
Returns
- object
An object representing the payload
Exceptions
- ArgumentException
- ArgumentNullException
- ArgumentOutOfRangeException
- FormatException
- SignatureVerificationException
- TokenNotYetValidException
- TokenExpiredException
DecodeToObject(Type, JwtParts, byte[][], bool)
Given a JWT, decodes it and return the payload as an object.
public object DecodeToObject(Type type, JwtParts jwt, byte[][] keys, bool verify)
Parameters
typeTypeThe type to deserialize to.
jwtJwtPartsThe JWT
keysbyte[][]The keys which one of them was used to sign the JWT
verifyboolWhether to verify the signature (default is true)
Returns
- object
An object representing the payload
Exceptions
- ArgumentException
- ArgumentNullException
- ArgumentOutOfRangeException
- FormatException
- SignatureVerificationException
- TokenNotYetValidException
- TokenExpiredException
Validate(JwtParts, params byte[][])
Prepares data before calling IJwtValidator
public void Validate(JwtParts jwt, params byte[][] keys)
Parameters
jwtJwtPartsThe JWT parts
keysbyte[][]The keys provided which one of them was used to sign the JWT
Exceptions
- ArgumentException
- ArgumentNullException
- ArgumentOutOfRangeException
- FormatException
- SignatureVerificationException
- TokenNotYetValidException
- TokenExpiredException
Validate(string[], byte[])
Prepares data before calling IJwtValidator
public void Validate(string[] parts, byte[] key)
Parameters
Exceptions
- ArgumentNullException
- ArgumentOutOfRangeException
- FormatException
- SignatureVerificationException
- TokenNotYetValidException
- TokenExpiredException
Validate(string[], params byte[][])
Prepares data before calling IJwtValidator
public void Validate(string[] parts, params byte[][] keys)
Parameters
partsstring[]The array representation of a JWT
keysbyte[][]The keys provided which one of them was used to sign the JWT