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.
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.
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).
public string? InitiatingEntity { get; init; }Property Value
CaepEventPayload.ReasonAdmin Property
OPTIONAL. The administrative message for logging and auditing, keyed by BCP 47 language tag (CAEP 1.0 Section 2).
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).
public System.Collections.Generic.IReadOnlyDictionary<string,string>? ReasonUser { get; init; }Property Value
System.Collections.Generic.IReadOnlyDictionary<System.String,System.String>