Class OpaqueCaseId
- Namespace
- SEBT.Portal.Core.StateBackends
- Assembly
- SEBT.Portal.Core.dll
Packs a case's routing fields into a URL-safe base64 JSON token; reads compose it, writes decode it. Fixed here so both integration paths share one token namespace.
public static class OpaqueCaseId
- Inheritance
-
objectOpaqueCaseId
Remarks
Opaque, not encrypted — it carries only backend-issued routing identifiers the lookup already returned (case keys, application ids). It must not pack PII such as email, phone, or SSN; writes bind those from the request envelope. Insertion order is preserved.
Methods
Compose(IReadOnlyDictionary<string, string>)
Packs the named routing fields into a URL-safe base64 JSON token.
public static string Compose(IReadOnlyDictionary<string, string> fields)
Parameters
fieldsIReadOnlyDictionary<string, string>
Returns
- string
Decode(string)
Decodes a token back into its routing fields. Fails loud on a malformed token.
public static IReadOnlyDictionary<string, string> Decode(string token)
Parameters
tokenstring
Returns
- IReadOnlyDictionary<string, string>
Remarks
Failure messages never echo the token — it can carry email/phone, and callers log in full.