TransmitterConfiguration Class
The transmitter's configuration metadata (SSF 1.0 Section 7.1): what a receiver learns from "/.well-known/ssf-configuration" before creating a stream - who the transmitter is, where its keys and endpoints live, and which delivery methods it speaks.
public sealed record TransmitterConfiguration : System.IEquatable<Abblix.SharedSignals.Model.TransmitterConfiguration>Inheritance System.Object → TransmitterConfiguration
Implements System.IEquatable<TransmitterConfiguration>
Properties
TransmitterConfiguration.AddSubjectEndpoint Property
The URL of the add subject endpoint (SSF 1.0 Sections 7.1, 8.1.3).
public System.Uri? AddSubjectEndpoint { get; init; }Property Value
TransmitterConfiguration.AuthorizationSchemes Property
The supported authorization scheme descriptions (SSF 1.0 Section 7.1.1). Kept as raw JSON objects: their shape is scheme-specific, and this package stays agnostic of how a host authorizes stream management.
public System.Collections.Generic.IReadOnlyList<System.Text.Json.Nodes.JsonObject>? AuthorizationSchemes { get; init; }Property Value
System.Collections.Generic.IReadOnlyList<System.Text.Json.Nodes.JsonObject>
TransmitterConfiguration.ConfigurationEndpoint Property
The URL of the stream configuration endpoint (SSF 1.0 Sections 7.1, 8.1.1).
public System.Uri? ConfigurationEndpoint { get; init; }Property Value
TransmitterConfiguration.CriticalSubjectMembers Property
Member names in a complex subject which, when present in an event's subject member, a receiver must interpret (SSF 1.0 Section 7.1).
public System.Collections.Generic.IReadOnlyList<string>? CriticalSubjectMembers { get; init; }Property Value
System.Collections.Generic.IReadOnlyList<System.String>
TransmitterConfiguration.DefaultSubjects Property
The default behavior of newly created streams: one of DefaultSubjectBehaviors, or null when the transmitter leaves the behavior unspecified (SSF 1.0 Section 7.1).
public string? DefaultSubjects { get; init; }Property Value
TransmitterConfiguration.DeliveryMethodsSupported Property
The delivery method URIs the transmitter supports (SSF 1.0 Section 7.1); see MethodUri and MethodUri.
public System.Collections.Generic.IReadOnlyList<string>? DeliveryMethodsSupported { get; init; }Property Value
System.Collections.Generic.IReadOnlyList<System.String>
TransmitterConfiguration.Issuer Property
REQUIRED. The URL, https-schemed with no query or fragment, the transmitter asserts as its issuer identifier; identical to the "iss" claim of every SET it issues (SSF 1.0 Section 7.1).
public string Issuer { get; init; }Property Value
TransmitterConfiguration.JwksUri Property
The transmitter's JSON Web Key Set document with the signing keys a receiver validates signatures against. SSF 1.0 Section 7.1 marks the member OPTIONAL and then requires it of any transmitter that signs: "This value MUST be specified if the Transmitter intends to generate signed JWTs." When present the URL must use HTTP over TLS.
public System.Uri? JwksUri { get; init; }Property Value
TransmitterConfiguration.RemoveSubjectEndpoint Property
The URL of the remove subject endpoint (SSF 1.0 Sections 7.1, 8.1.3).
public System.Uri? RemoveSubjectEndpoint { get; init; }Property Value
TransmitterConfiguration.SpecVersion Property
The version of the specification the transmitter implements. Absent means the transmitter is assumed to conform to the "1_0-ID1" version (SSF 1.0 Section 7.1).
public string? SpecVersion { get; init; }Property Value
TransmitterConfiguration.StatusEndpoint Property
The URL of the stream status endpoint (SSF 1.0 Sections 7.1, 8.1.2).
public System.Uri? StatusEndpoint { get; init; }Property Value
TransmitterConfiguration.VerificationEndpoint Property
The URL of the verification endpoint (SSF 1.0 Sections 7.1, 8.1.4).
public System.Uri? VerificationEndpoint { get; init; }Property Value
Methods
TransmitterConfiguration.WellKnownAddress(Uri) Method
The address the metadata for issuer is published at: the well-known segment inserted "into the Issuer between the host component and the path component, if any", with any terminating "/" of the issuer's path removed first (SSF 1.0 Sections 7.2, 7.2.1). The insertion - not a suffix - is what lets one host serve several issuers: "https://tr.example.com/issuer1" resolves to "https://tr.example.com/.well-known/ssf-configuration/issuer1"\.
public static System.Uri WellKnownAddress(System.Uri issuer);Parameters
issuer System.Uri
The transmitter's issuer identifier, as documented by the transmitter.
Returns
Exceptions
System.ArgumentException
The issuer is relative, carries a query or fragment (SSF 1.0 Section 7.1 defines the
identifier without them), or uses a scheme other than https on a non-loopback host - the
document behind this address names every endpoint and the signing keys, so its transport
is part of the trust, and Section 7.2 expects the https scheme. Loopback stays permitted
for local development.