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
name
HeaderNameWell-known header name
value
objectThe 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
token
stringThe 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
token
stringThe JWT
Returns
DecodeHeader<T>(string)
Given a JWT, decodes it and return the header.
public T DecodeHeader<T>(string token)
Parameters
token
stringThe JWT
Returns
- T
Type Parameters
T
Decode<T>(string)
Decodes a token using the supplied dependencies.
public T Decode<T>(string token)
Parameters
token
stringThe 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
payload
object
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
algorithm
IJwtAlgorithm
Returns
- JwtBuilder
Current builder instance.
WithAlgorithmFactory(IAlgorithmFactory)
Sets JWT algorithm factory.
public JwtBuilder WithAlgorithmFactory(IAlgorithmFactory algFactory)
Parameters
algFactory
IAlgorithmFactory
Returns
- JwtBuilder
Current builder instance.
WithDateTimeProvider(IDateTimeProvider)
Sets custom datetime provider.
public JwtBuilder WithDateTimeProvider(IDateTimeProvider provider)
Parameters
provider
IDateTimeProvider
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
decoder
IJwtDecoder
Returns
- JwtBuilder
Current builder instance
WithEncoder(IJwtEncoder)
Sets JWT encoder.
public JwtBuilder WithEncoder(IJwtEncoder encoder)
Parameters
encoder
IJwtEncoder
Returns
- JwtBuilder
Current builder instance
WithJsonSerializer(IJsonSerializer)
Sets JWT serializer.
public JwtBuilder WithJsonSerializer(IJsonSerializer serializer)
Parameters
serializer
IJsonSerializer
Returns
- JwtBuilder
Current builder instance
WithJsonSerializer(Func<IJsonSerializer>)
Sets JWT serializer.
public JwtBuilder WithJsonSerializer(Func<IJsonSerializer> factory)
Parameters
factory
Func<IJsonSerializer>
Returns
- JwtBuilder
Current builder instance
WithJsonSerializerFactory(IJsonSerializerFactory)
Sets JWT serializer factory.
public JwtBuilder WithJsonSerializerFactory(IJsonSerializerFactory jsonSerializerFactory)
Parameters
jsonSerializerFactory
IJsonSerializerFactory
Returns
- JwtBuilder
Current builder instance
WithSecret(params byte[][])
Sets secrets.
public JwtBuilder WithSecret(params byte[][] secrets)
Parameters
secrets
byte[][]
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
secrets
string[]
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
urlEncoder
IBase64UrlEncoder
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
valParams
ValidationParametersParameters 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
action
Action<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
validator
IJwtValidator
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
verify
bool
Returns
- JwtBuilder
Current builder instance