Class JwtBuilder
Encode and decode JWT with Fluent API.
public sealed class JwtBuilder
- Inheritance
-
JwtBuilder
- Extension Methods
Constructors
JwtBuilder()
public JwtBuilder()
Methods
AddClaim(string, object)
Adds claim to the JWT.
public JwtBuilder AddClaim(string name, object value)
Parameters
Returns
- JwtBuilder
Current builder instance
AddHeader(HeaderName, object)
Add header to the JWT.
public JwtBuilder AddHeader(HeaderName name, object value)
Parameters
nameHeaderNameWell-known header name
valueobjectThe value you want give to the header
Returns
- JwtBuilder
Current builder instance
AddHeader(string, object)
Add header to the JWT.
public JwtBuilder AddHeader(string name, object value)
Parameters
Returns
- JwtBuilder
Current builder instance
Remarks
This adds a non-standard header value.
Create()
Creates a new instance of instance JwtBuilder
public static JwtBuilder Create()
Returns
Decode(string)
Decodes a token using the supplied dependencies.
public string Decode(string token)
Parameters
tokenstringThe JWT
Returns
- string
The JSON payload
Decode(string, Type)
public object Decode(string token, Type type)
Parameters
Returns
DecodeHeader(string)
Given a JWT, decodes it and return the header.
public string DecodeHeader(string token)
Parameters
tokenstringThe JWT
Returns
DecodeHeader<T>(string)
Given a JWT, decodes it and return the header.
public T DecodeHeader<T>(string token)
Parameters
tokenstringThe JWT
Returns
- T
Type Parameters
T
Decode<T>(string)
Decodes a token using the supplied dependencies.
public T Decode<T>(string token)
Parameters
tokenstringThe JWT
Returns
- T
Type Parameters
T
DoNotVerifySignature()
Instructs to do not verify the JWT signature.
public JwtBuilder DoNotVerifySignature()
Returns
- JwtBuilder
Current builder instance
Encode()
Encodes a token using the supplied dependencies.
public string Encode()
Returns
- string
The generated JWT
Exceptions
Encode(object)
public string Encode(object payload)
Parameters
payloadobject
Returns
MustVerifySignature()
Instructs to verify the JWT signature.
public JwtBuilder MustVerifySignature()
Returns
- JwtBuilder
Current builder instance
WithAlgorithm(IJwtAlgorithm)
Sets JWT algorithm.
public JwtBuilder WithAlgorithm(IJwtAlgorithm algorithm)
Parameters
algorithmIJwtAlgorithm
Returns
- JwtBuilder
Current builder instance.
WithAlgorithmFactory(IAlgorithmFactory)
Sets JWT algorithm factory.
public JwtBuilder WithAlgorithmFactory(IAlgorithmFactory algFactory)
Parameters
algFactoryIAlgorithmFactory
Returns
- JwtBuilder
Current builder instance.
WithDateTimeProvider(IDateTimeProvider)
Sets custom datetime provider.
public JwtBuilder WithDateTimeProvider(IDateTimeProvider provider)
Parameters
providerIDateTimeProvider
Returns
- JwtBuilder
Current builder instance
Remarks
If not set then default UtcDateTimeProvider will be used.
WithDecoder(IJwtDecoder)
Sets JWT decoder.
public JwtBuilder WithDecoder(IJwtDecoder decoder)
Parameters
decoderIJwtDecoder
Returns
- JwtBuilder
Current builder instance
WithEncoder(IJwtEncoder)
Sets JWT encoder.
public JwtBuilder WithEncoder(IJwtEncoder encoder)
Parameters
encoderIJwtEncoder
Returns
- JwtBuilder
Current builder instance
WithJsonSerializer(IJsonSerializer)
Sets JWT serializer.
public JwtBuilder WithJsonSerializer(IJsonSerializer serializer)
Parameters
serializerIJsonSerializer
Returns
- JwtBuilder
Current builder instance
WithJsonSerializer(Func<IJsonSerializer>)
Sets JWT serializer.
public JwtBuilder WithJsonSerializer(Func<IJsonSerializer> factory)
Parameters
factoryFunc<IJsonSerializer>
Returns
- JwtBuilder
Current builder instance
WithJsonSerializerFactory(IJsonSerializerFactory)
Sets JWT serializer factory.
public JwtBuilder WithJsonSerializerFactory(IJsonSerializerFactory jsonSerializerFactory)
Parameters
jsonSerializerFactoryIJsonSerializerFactory
Returns
- JwtBuilder
Current builder instance
WithSecret(params byte[][])
Sets secrets.
public JwtBuilder WithSecret(params byte[][] secrets)
Parameters
secretsbyte[][]
Returns
- JwtBuilder
Current builder instance
Remarks
Required to create a new token that uses an symmetric algorithm such as RS256Algorithm
WithSecret(params string[])
Sets secrets.
public JwtBuilder WithSecret(params string[] secrets)
Parameters
secretsstring[]
Returns
- JwtBuilder
Current builder instance
Remarks
Required to create a new token that uses an symmetric algorithm such as RS256Algorithm
WithUrlEncoder(IBase64UrlEncoder)
Sets custom URL encoder.
public JwtBuilder WithUrlEncoder(IBase64UrlEncoder urlEncoder)
Parameters
urlEncoderIBase64UrlEncoder
Returns
- JwtBuilder
Current builder instance
Remarks
If not set then default JwtBase64UrlEncoder will be used.
WithValidationParameters(ValidationParameters)
Sets the JWT signature validation parameters.
public JwtBuilder WithValidationParameters(ValidationParameters valParams)
Parameters
valParamsValidationParametersParameters to be used for validation
Returns
- JwtBuilder
Current builder instance
Exceptions
WithValidationParameters(Action<ValidationParameters>)
Sets the JWT signature validation parameters.
public JwtBuilder WithValidationParameters(Action<ValidationParameters> action)
Parameters
actionAction<ValidationParameters>Delegate to produce parameters to be used for validation
Returns
- JwtBuilder
Current builder instance
Exceptions
WithValidator(IJwtValidator)
Sets JWT validator.
public JwtBuilder WithValidator(IJwtValidator validator)
Parameters
validatorIJwtValidator
Returns
- JwtBuilder
Current builder instance
Remarks
Required to decode with verification.
WithVerifySignature(bool)
Instructs whether to verify the JWT signature.
public JwtBuilder WithVerifySignature(bool verify)
Parameters
verifybool
Returns
- JwtBuilder
Current builder instance