Skip to content

CaepEventPayload Class

The claims every CAEP event may carry (CAEP 1.0 Section 2): when it happened, who set it in motion, and why - the latter twice, because the administrator's log line and the sentence an end user should read are different texts in different languages.

C#
public abstract record CaepEventPayload : Abblix.SecurityEvents.Events.IEventPayload, System.IEquatable<Abblix.SecurityEvents.CAEP.CaepEventPayload>

Inheritance System.Object → CaepEventPayload

Derived
AssuranceLevelChangePayload
CredentialChangePayload
DeviceComplianceChangePayload
RiskLevelChangePayload
SessionEstablishedPayload
SessionPresentedPayload
SessionRevokedPayload
TokenClaimsChangePayload

Implements IEventPayload, System.IEquatable<CaepEventPayload>

Properties

CaepEventPayload.EventTimestamp Property

OPTIONAL. When the event described by the SET occurred - each event type binds this to its own moment, such as when the session was revoked or the credential changed (CAEP 1.0 Sections 2, 3). Travels as unix seconds.

C#
public System.Nullable<System.DateTimeOffset> EventTimestamp { get; init; }

Property Value

System.Nullable<System.DateTimeOffset>

CaepEventPayload.InitiatingEntity Property

OPTIONAL. The entity that invoked the event, one of InitiatingEntities (CAEP 1.0 Section 2).

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

Property Value

System.String

CaepEventPayload.ReasonAdmin Property

OPTIONAL. The administrative message for logging and auditing, keyed by BCP 47 language tag (CAEP 1.0 Section 2).

C#
public System.Collections.Generic.IReadOnlyDictionary<string,string>? ReasonAdmin { get; init; }

Property Value

System.Collections.Generic.IReadOnlyDictionary<System.String,System.String>

Remarks

Optional to CAEP 1.0, and required of a TRANSMITTER by the CAEP Interoperability Profile 1.0: each of the three use cases in its Section 3 demands a non-empty object here. The property stays nullable because the base specification permits its absence - Section 2 makes the common claims optional and Section 3.1.1 defines no event-specific claim for session-revoked - so an empty payload is well-formed and a receiver must be able to hold one. A deployment claiming the profile registers CaepInteropProfilePolicy, which refuses the event rather than the type.

One rule here is the base specification's rather than the profile's: "The object MUST contain one or more key/value pairs" (CAEP 1.0 Section 2). An empty object is wrong wherever it appears, with or without the profile.

CaepEventPayload.ReasonUser Property

OPTIONAL. The message for display to an end user, keyed by BCP 47 language tag (CAEP 1.0 Section 2).

C#
public System.Collections.Generic.IReadOnlyDictionary<string,string>? ReasonUser { get; init; }

Property Value

System.Collections.Generic.IReadOnlyDictionary<System.String,System.String>