Jwt DataFlex Reference Documentation

Jwt

Current Version: 10.1.2

A class for signing and verifying JWT's (JSON Web Tokens).

Object Creation

// (Dataflex programs use the 32-bit Chilkat ActiveX)
Handle hoJwt
Get Create(RefClass(cComChilkatJwt)) to hoJwt

Properties

AutoCompact
Function ComAutoCompact Returns Boolean
Procedure Set ComAutoCompact Boolean value
Introduced in version 9.5.0.58

If True, the JSON passed to CreateJwt and CreateJwtPk will be compacted to remove unnecessary whitespace. This will result in the smallest possible JWT. The default value is True.

top
DebugLogFilePath
Function ComDebugLogFilePath Returns String
Procedure Set ComDebugLogFilePath String value

If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. This logging helps identify the context and history of Chilkat calls leading up to any crash or hang, aiding in debugging.

Enabling the VerboseLogging property provides more detailed information. This property is mainly used for debugging rare instances where a Chilkat method call causes a hang or crash, which should generally not happen.

Possible causes of hangs include:

  • A timeout property set to 0, indicating an infinite timeout.
  • A hang occurring within an event callback in the application code.
  • An internal bug in the Chilkat code causing the hang.

More Information and Examples
top
LastBinaryResult
Function ComLastBinaryResult Returns Variant

This property is mainly used in SQL Server stored procedures to retrieve binary data from the last method call that returned binary data. It is only accessible if Chilkat.Global.KeepBinaryResult is set to True. This feature allows for the retrieval of large varbinary results in an SQL Server environment, which has restrictions on returning large data via method calls, though temp tables can handle binary properties.

top
LastErrorHtml
Function ComLastErrorHtml Returns String

Provides HTML-formatted information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastErrorText
Function ComLastErrorText Returns String

Provides plain text information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastErrorXml
Function ComLastErrorXml Returns String

Provides XML-formatted information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastMethodSuccess
Function ComLastMethodSuccess Returns Boolean
Procedure Set ComLastMethodSuccess Boolean value

Indicates the success or failure of the most recent method call: True means success, False means failure. This property remains unchanged by property setters or getters. This method is present to address challenges in checking for null or Nothing returns in certain programming languages.

top
LastStringResult
Function ComLastStringResult Returns String

In SQL Server stored procedures, this property holds the string return value of the most recent method call that returns a string. It is accessible only when Chilkat.Global.KeepStringResult is set to TRUE. SQL Server has limitations on string lengths returned from methods and properties, but temp tables can be used to access large strings.

top
LastStringResultLen
Function ComLastStringResultLen Returns Integer

The length, in characters, of the string contained in the LastStringResult property.

top
UncommonOptions
Function ComUncommonOptions Returns String
Procedure Set ComUncommonOptions String value
Introduced in version 10.1.0

This is a catch-all property to be used for uncommon needs. This property defaults to the empty string and should typically remain empty.

top
VerboseLogging
Function ComVerboseLogging Returns Boolean
Procedure Set ComVerboseLogging Boolean value

If set to True, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. The default value is False. Verbose logging should only be used for debugging. The potentially large quantity of logged information may adversely affect peformance.

top
Version
Function ComVersion Returns String

Version of the component/library, such as "10.1.0"

More Information and Examples
top

Methods

CreateJwt
Function ComCreateJwt String header String payload String password Returns String
Introduced in version 9.5.0.58

Creates a JWT. The header is the JOSE JSON header. It can be the full JOSE JSON, or it can be a shorthand string such as "HS256", "HS384", or "HS512", in which case the standard JOSE header for the given algorithm will be used.

The payload is the JSON payload that contains the claims. The password is the secret. Given that the secret is a shared passwod string, this method should only be called for creating JWT's where the JOSE header's "alg" is HS256, HS384, or HS512. For RS256, RS384, RS512, ES256, ES384, and ES512, call CreateJwtPk instead.

When successful, this method returns a JWT with the format xxxxx.yyyyy.zzzzz, where xxxxx is the base64url encoded JOSE header, yyyyy is the base64url encoded payload, and zzzzz is the base64url signature.

Returns null on failure

top
CreateJwtCert
Function ComCreateJwtCert String header String payload cComChilkatCert cert Returns String
Introduced in version 9.5.0.99

Creates a JWT using a certificate's private key. The header is the JOSE JSON header. It can be the full JOSE JSON, or it can be a shorthand string such as "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", or "ES512", in which case the standard JOSE header for the given algorithm will be used.

The payload is the JSON payload that contains the claims. The cert is the certificate with private key. This method should only be called for creating JWT's where the JOSE header's "alg" is RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, or ES512. If the secret is a shared password string, then call CreateJwt instead.

When successful, this method returns a JWT with the format xxxxx.yyyyy.zzzzz, where xxxxx is the base64url encoded JOSE header, yyyyy is the base64url encoded payload, and zzzzz is the base64url signature.

Note: Support for the PS256, PS384, PS512 algorithms was added in Chilkat v10.0.0.

Returns null on failure

More Information and Examples
top
CreateJwtPk
Function ComCreateJwtPk String header String payload cComPrivateKey key Returns String
Introduced in version 9.5.0.58

Creates a JWT using an RSA or ECC private key. The header is the JOSE JSON header. It can be the full JOSE JSON, or it can be a shorthand string such as "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", or "ES512", in which case the standard JOSE header for the given algorithm will be used.

The payload is the JSON payload that contains the claims. The key is the private key. This method should only be called for creating JWT's where the JOSE header's "alg" is RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, or ES512. If the secret is a shared password string, then call CreateJwt instead.

When successful, this method returns a JWT with the format xxxxx.yyyyy.zzzzz, where xxxxx is the base64url encoded JOSE header, yyyyy is the base64url encoded payload, and zzzzz is the base64url signature.

Note: Support for the PS256, PS384, PS512 algorithms was added in Chilkat v10.0.0.

Returns null on failure

top
GenNumericDate
Function ComGenNumericDate Integer numSecOffset Returns Integer
Introduced in version 9.5.0.58

Generates a JSON numeric value representing the number of seconds from 1970-01-01T00:00:00Z UTC until the specified UTC date/time, ignoring leap seconds. The date/time generated is equal to the current system time plus the number of seconds specified by numSecOffset. The numSecOffset can be negative.

More Information and Examples
top
GetHeader
Function ComGetHeader String token Returns String
Introduced in version 9.5.0.58

Decodes the first part of a JWT (the "xxxxx" part of the "xxxxx.yyyyy.zzzzz" JWT) and returns the JSON string. This is the JOSE header of the JWT.

Returns null on failure

More Information and Examples
top
GetPayload
Function ComGetPayload String token Returns String
Introduced in version 9.5.0.58

Decodes the second part of a JWT (the "yyyyy" part of the "xxxxx.yyyyy.zzzzz" JWT) and returns the JSON string. This is the claims payload of the JWT.

Returns null on failure

top
IsTimeValid
Function ComIsTimeValid String jwt Integer leeway Returns Boolean
Introduced in version 9.5.0.58

Verifies the "exp" and/or "nbf" claims and returns True if the current system date/time is within range. Returns False if the current system date/time is outside the allowed range of time. The leeway may be set to a non-zero number of seconds to allow for some small leeway (usually no more than a few minutes) to account for clock skew.

More Information and Examples
top
VerifyJwt
Function ComVerifyJwt String token String password Returns Boolean
Introduced in version 9.5.0.58

Verifies a JWT that requires a shared password string for verification. The token should be a JWT with the format xxxxx.yyyyy.zzzzz. This method should only be called for JWT's using the HS256, HS384, or HS512 algorithms. The VerifyJwtPk method should be called for verifying JWT's requiring an RSA or ECC key.

Returns True if the signature was verified. Returns False if the signature was not successfully verified.

Note: This method will return False if the "alg" in the JOSE header is anything other than the algorithms specifically for HMAC, namely "hs256, "hs384", and "hs512". For example, if the "alg" is "none", then this method immediately returns a failed status.

Further Explanation: This method calculates the signature using the password provided by the application, and compares it against the signature found in the JWT. If the signatures are equal, then the password is correct, and True is returned.

Returns True for success, False for failure.

More Information and Examples
top
VerifyJwtPk
Function ComVerifyJwtPk String token cComPublicKey key Returns Boolean
Introduced in version 9.5.0.58

Verifies a JWT that requires an RSA or ECC public key for verification. The token should be a JWT with the format xxxxx.yyyyy.zzzzz. This method should only be called for JWT's using the RS256, RS384, RS512, ES256, ES384, or ES512 algorithms.

Returns True if the signature was verified. Returns False if the signature was not successfully verified.

Note: This method will return False if the "alg" in the JOSE header is anything other than the algorithms specifically for RSA and ECC. For example, if the "alg" is "none", then this method immediately returns a failed status.

Further Explanation: This method calculates the signature using the key provided by the application, and compares it against the signature found in the JWT. If the signatures are equal, then the key corresponds to the private key used to sign, and True is returned.

Returns True for success, False for failure.

top