Table of Contents

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
object
OpaqueCaseId

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

fields IReadOnlyDictionary<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

token string

Returns

IReadOnlyDictionary<string, string>

Remarks

Failure messages never echo the token — it can carry email/phone, and callers log in full.