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
jsonSerializer
IJsonSerializerThe JSON serializer
urlEncoder
IBase64UrlEncoderThe 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
jsonSerializer
IJsonSerializerThe JSON serializer
jwtValidator
IJwtValidatorThe JWT validator
urlEncoder
IBase64UrlEncoderThe base64 URL encoder
algFactory
IAlgorithmFactoryThe 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
jsonSerializer
IJsonSerializerThe JSON serializer
jwtValidator
IJwtValidatorThe JWT validator
urlEncoder
IBase64UrlEncoderThe base64 URL encoder
algorithm
IJwtAlgorithmThe 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
jwt
JwtPartsThe JWT
key
byte[]The key that were used to sign the JWT
verify
boolWhether 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
jwt
JwtPartsThe JWT
keys
byte[][]The keys provided which one of them was used to sign the JWT
verify
boolWhether 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
token
stringThe 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
jwt
JwtPartsThe 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
type
TypeThe type to deserialize to.
jwt
JwtPartsThe JWT
verify
boolWhether 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
type
TypeThe type to deserialize to.
jwt
JwtPartsThe JWT
key
byte[]The key that was used to sign the JWT
verify
boolWhether 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
type
TypeThe type to deserialize to.
jwt
JwtPartsThe JWT
keys
byte[][]The keys which one of them was used to sign the JWT
verify
boolWhether 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
jwt
JwtPartsThe JWT parts
keys
byte[][]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
parts
string[]The array representation of a JWT
keys
byte[][]The keys provided which one of them was used to sign the JWT