Skip to content

SharedSignalsValidationOptions Class

The validation expectations of an SSF receiver: everything the core profile expects of a SET, plus what the SSF profile adds - the stream the event must belong to and the transmitter's declared critical subject members. The SSF steps refuse to run against the base options type, so a profile wired with the wrong flavor fails loudly on its first token.

C#
public sealed record SharedSignalsValidationOptions : Abblix.SecurityEvents.Validation.SecurityEventTokenValidationOptions, System.IEquatable<Abblix.SharedSignals.Receiver.SecurityEvent.SharedSignalsValidationOptions>

Inheritance System.ObjectAbblix.SecurityEvents.Validation.SecurityEventTokenValidationOptions → SharedSignalsValidationOptions

Implements System.IEquatable<SharedSignalsValidationOptions>

Properties

SharedSignalsValidationOptions.CriticalSubjectMembers Property

The complex-subject member names the transmitter declared critical ("critical_subject_members" in its configuration metadata, SSF 1.0 Section 7.1). An event whose subject carries one of them in a form this receiver cannot interpret is discarded (Section 3.6).

C#
public System.Collections.Generic.IReadOnlyCollection<string> CriticalSubjectMembers { get; init; }

Property Value

System.Collections.Generic.IReadOnlyCollection<System.String>

SharedSignalsValidationOptions.StreamIssuer Property

The issuer of the stream the events arrive on, from its Stream Configuration. SSF 1.0 Section 4.1.6 requires the "iss" claim to match both the Stream Configuration's issuer and the issuer the Transmitter Configuration was requested from; the receiver proved those two equal when it accepted the stream (Sections 7.2.2, 8.1.1.1), so one value here carries both halves of the rule.

C#
public string? StreamIssuer { get; init; }

Property Value

System.String

SharedSignalsValidationOptions.SubjectSerializerOptions Property

The options the "sub_id" claim is read with. Null - the common case - reads the built-in vocabulary, which already spans the RFC 9493 registry and the SSF extensions; a deployment speaking proprietary formats supplies options carrying its own extended subject converter.

C#
public System.Text.Json.JsonSerializerOptions? SubjectSerializerOptions { get; init; }

Property Value

System.Text.Json.JsonSerializerOptions