Authentication options
Only the API key is mandatory.
By default a uuid is not validated, the random split characters are %., and max age or tolerance is 5 minutes (or 300000 milliseconds)
NB: The random split characters (rand_char_str) may not include alphanumeric characters or underscores, as these would break other validation
Return type for the from_dyaamic_key() method
This is a simple tuple struct with getter methods for
age() milliseconds since the decoded timestamp
uuid embedded UUID if available
has_user() indicates whether valid UUID-like string is embedded
status() The outcome showing where or if validation failed
status_key() a human-readable snake-case key indicating the status
This crate encodes s time-sensitive authentication token from a shared API Key injected in an base-36 timestamp, a set of random split characters and an optional UUID.
It also decodes the generated token and applies shared rules to validate the decoded API key, timestamp tolerance, split characters and,
if required, check for a well-formed UUID string for a second authorisation step.
characters used for base-36 conversion
This crate encodes s time-sensitive authentication token from a shared API Key injected in an base-36 timestamp, a set of random split characters and an optional UUID.
It also decodes the generated token and applies shared rules to validate the decoded API key, timestamp tolerance, split characters and,
if required, check for a well-formed UUID string for a second authorisation step.
characters used for hexadecimal conversion
This crate encodes s time-sensitive authentication token from a shared API Key injected in an base-36 timestamp, a set of random split characters and an optional UUID.
It also decodes the generated token and applies shared rules to validate the decoded API key, timestamp tolerance, split characters and,
if required, check for a well-formed UUID string for a second authorisation step.
Max random start offset for the encoded API key after the initial control character
This crate encodes s time-sensitive authentication token from a shared API Key injected in an base-36 timestamp, a set of random split characters and an optional UUID.
It also decodes the generated token and applies shared rules to validate the decoded API key, timestamp tolerance, split characters and,
if required, check for a well-formed UUID string for a second authorisation step.
Minimum length of the hexadecimal UUID
Generate a time-sensitive dynamic key from a shared API key as defined in the options
the current millisecond timestamp (encoded, split and injected)
some random characters and an optional uuid that can be decoded and used for additional authentication