Documentation
¶
Index ¶
- Constants
- Variables
- func EventTypeArrayToEventUriArray(events []EventType) []string
- type AssuranceLevelChangeEvent
- func (event *AssuranceLevelChangeEvent) GetChangeDirection() string
- func (event *AssuranceLevelChangeEvent) GetCurrentLevel() string
- func (event *AssuranceLevelChangeEvent) GetEventUri() string
- func (event *AssuranceLevelChangeEvent) GetNamespace() string
- func (event *AssuranceLevelChangeEvent) GetPreviousLevel() string
- func (event *AssuranceLevelChangeEvent) GetSubject() map[string]interface{}
- func (event *AssuranceLevelChangeEvent) GetSubjectFormat() SubjectFormat
- func (event *AssuranceLevelChangeEvent) GetTimestamp() int64
- func (event *AssuranceLevelChangeEvent) GetType() EventType
- type ChangeType
- type CredentialChangeEvent
- func (event *CredentialChangeEvent) GetChangeType() ChangeType
- func (event *CredentialChangeEvent) GetCredentialType() CredentialType
- func (event *CredentialChangeEvent) GetEventUri() string
- func (event *CredentialChangeEvent) GetSubject() map[string]interface{}
- func (event *CredentialChangeEvent) GetSubjectFormat() SubjectFormat
- func (event *CredentialChangeEvent) GetTimestamp() int64
- func (event *CredentialChangeEvent) GetType() EventType
- type CredentialType
- type DeviceComplianceEvent
- func (event *DeviceComplianceEvent) GetCurrentStatus() string
- func (event *DeviceComplianceEvent) GetEventUri() string
- func (event *DeviceComplianceEvent) GetPreviousStatus() string
- func (event *DeviceComplianceEvent) GetSubject() map[string]interface{}
- func (event *DeviceComplianceEvent) GetSubjectFormat() SubjectFormat
- func (event *DeviceComplianceEvent) GetTimestamp() int64
- func (event *DeviceComplianceEvent) GetType() EventType
- type EventType
- type SessionRevokedEvent
- func (event *SessionRevokedEvent) GetEventUri() string
- func (event *SessionRevokedEvent) GetSubject() map[string]interface{}
- func (event *SessionRevokedEvent) GetSubjectFormat() SubjectFormat
- func (event *SessionRevokedEvent) GetTimestamp() int64
- func (event *SessionRevokedEvent) GetType() EventType
- type SsfEvent
- type StreamUpdatedEvent
- func (event *StreamUpdatedEvent) GetEventUri() string
- func (event *StreamUpdatedEvent) GetState() string
- func (event *StreamUpdatedEvent) GetSubject() map[string]interface{}
- func (event *StreamUpdatedEvent) GetSubjectFormat() SubjectFormat
- func (event *StreamUpdatedEvent) GetTimestamp() int64
- func (event *StreamUpdatedEvent) GetType() EventType
- type SubjectFormat
- type TokenClaimsChangeEvent
- func (event *TokenClaimsChangeEvent) GetClaims() map[string]interface{}
- func (event *TokenClaimsChangeEvent) GetEventUri() string
- func (event *TokenClaimsChangeEvent) GetSubject() map[string]interface{}
- func (event *TokenClaimsChangeEvent) GetSubjectFormat() SubjectFormat
- func (event *TokenClaimsChangeEvent) GetTimestamp() int64
- func (event *TokenClaimsChangeEvent) GetType() EventType
- type VerificationEvent
- func (event *VerificationEvent) GetEventUri() string
- func (event *VerificationEvent) GetState() string
- func (event *VerificationEvent) GetSubject() map[string]interface{}
- func (event *VerificationEvent) GetSubjectFormat() SubjectFormat
- func (event *VerificationEvent) GetTimestamp() int64
- func (event *VerificationEvent) GetType() EventType
Constants ¶
const AccountSubjectFormat = "account"
const AliasesSubjectFormat = "aliases"
const DecentralizedIdentifierSubjectFormat = "did"
const EmailSubjectFormat = "email"
const IssuerAndSubjectFormat = "iss_sub"
const OpaqueSubjectFormat = "opaque"
const PhoneNumberSubjectFormat = "phone_number"
const UniqueResourceIdentifierSubjectFormat = "uri"
Variables ¶
var ChangeTypeEnumMap = map[uint64]ChangeType{ 0: Create, 1: Revoked, 2: Update, 3: Delete, }
var CredentialTypeEnumMap = map[uint64]CredentialType{ 0: Password, 1: Pin, 2: X509, 3: Fido2_platform, 4: Fido2_roaming, 5: Fido_u2f, 6: Verifiable_credential, 7: Phone_voice, 8: Phone_sms, 9: App, }
var EventEnum = map[string]EventType{ "https://schemas.openid.net/secevent/caep/event-type/session-revoked": SessionRevoked, "https://schemas.openid.net/secevent/caep/event-type/credential-change": CredentialChange, "https://schemas.openid.net/secevent/caep/event-type/device-compliance-change": DeviceCompliance, "https://schemas.openid.net/secevent/caep/event-type/assurance-level-change": AssuranceLevelChange, "https://schemas.openid.net/secevent/caep/event-type/token-claims-change": TokenClaimsChange, "https://schemas.openid.net/secevent/caep/event-type/verification-event": VerificationEventType, "https://schemas.openid.net/secevent/caep/event-type/stream-updated": StreamUpdatedEventType, }
var EventUri = map[EventType]string{ SessionRevoked: "https://schemas.openid.net/secevent/caep/event-type/session-revoked", CredentialChange: "https://schemas.openid.net/secevent/caep/event-type/credential-change", DeviceCompliance: "https://schemas.openid.net/secevent/caep/event-type/device-compliance-change", AssuranceLevelChange: "https://schemas.openid.net/secevent/caep/event-type/assurance-level-change", TokenClaimsChange: "https://schemas.openid.net/secevent/caep/event-type/token-claims-change", VerificationEventType: "https://schemas.openid.net/secevent/caep/event-type/verification-event", StreamUpdatedEventType: "https://schemas.openid.net/secevent/caep/event-type/stream-updated", }
Functions ¶
func EventTypeArrayToEventUriArray ¶
Converts a list of Ssf Events to a list of their corresponding Event URI's
Types ¶
type AssuranceLevelChangeEvent ¶
type AssuranceLevelChangeEvent struct { // Json defines the raw JSON of the CAEP Event. Used if // a developer wants greater control over all the attributes // of the CAEP Event Json map[string]interface{} // SubjectFormat defines the format of the subject event. // // See: https://datatracker.ietf.org/doc/html/draft-ietf-secevent-subject-identifiers // for an overview of available subject formats for CAEP Events Format SubjectFormat // Subject defines the subject that the CAEP Event applies to. // // See your transmitter's specification for the exact format // of the Subject Subject map[string]interface{} // EventTimestamp defines the timestamp of the CAEP Event in // Unix time (seconds since January 1, 1970 UTC) EventTimestamp int64 // the namespace of the values in the current_level and previous_level claims. // See: https://openid.github.io/sharedsignals/openid-caep-specification-1_0.html#name-event-specific-claims-4 for valid values. Namespace string // the current NIST Authenticator Assurance Level (AAL) as defined in [SP800-63R3]. // See: https://openid.github.io/sharedsignals/openid-caep-specification-1_0.html#name-event-specific-claims-4 for valid values. CurrentLevel string // the previous NIST Authenticator Assurance Level (AAL) as defined in [SP800-63R3]. Optional. // See: https://openid.github.io/sharedsignals/openid-caep-specification-1_0.html#name-event-specific-claims-4 for valid values. PreviousLevel *string // the Authenticator Assurance Level increased or decreased. Optional. // Must be either 'increase' or 'decrease'. See: See: https://openid.github.io/sharedsignals/openid-caep-specification-1_0.html#name-event-specific-claims-4 // for more details. ChangeDirection *string }
The session revoked event is a CAEP Event, defined here: https://openid.net/specs/openid-caep-specification-1_0-ID1.html#rfc.section.3.1
func (*AssuranceLevelChangeEvent) GetChangeDirection ¶
func (event *AssuranceLevelChangeEvent) GetChangeDirection() string
func (*AssuranceLevelChangeEvent) GetCurrentLevel ¶
func (event *AssuranceLevelChangeEvent) GetCurrentLevel() string
func (*AssuranceLevelChangeEvent) GetEventUri ¶
func (event *AssuranceLevelChangeEvent) GetEventUri() string
func (*AssuranceLevelChangeEvent) GetNamespace ¶
func (event *AssuranceLevelChangeEvent) GetNamespace() string
func (*AssuranceLevelChangeEvent) GetPreviousLevel ¶
func (event *AssuranceLevelChangeEvent) GetPreviousLevel() string
func (*AssuranceLevelChangeEvent) GetSubject ¶
func (event *AssuranceLevelChangeEvent) GetSubject() map[string]interface{}
func (*AssuranceLevelChangeEvent) GetSubjectFormat ¶
func (event *AssuranceLevelChangeEvent) GetSubjectFormat() SubjectFormat
func (*AssuranceLevelChangeEvent) GetTimestamp ¶
func (event *AssuranceLevelChangeEvent) GetTimestamp() int64
func (*AssuranceLevelChangeEvent) GetType ¶
func (event *AssuranceLevelChangeEvent) GetType() EventType
type CredentialChangeEvent ¶
type CredentialChangeEvent struct { // Json defines the raw JSON of the CAEP Event. Used if // a developer wants greater control over all the attributes // of the CAEP Event Json map[string]interface{} // SubjectFormat defines the format of the subject event. // // See: https://datatracker.ietf.org/doc/html/draft-ietf-secevent-subject-identifiers // for an overview of available subject formats for CAEP Events Format SubjectFormat // Subject defines the subject that the CAEP Event applies to. // // See your transmitter's specification for the exact format // of the Subject Subject map[string]interface{} // EventTimestamp defines the timestamp of the CAEP Event in // Unix time (seconds since January 1, 1970 UTC) EventTimestamp int64 // CredentialType defines the type of credential of the CAEP Event that has been modified/removed. // See https://openid.net/specs/openid-caep-specification-1_0.html#rfc.section.3.3.1 for the options for this field CredentialType CredentialType // CredentialType defines the type of modification/deletion towards the credential of the CAEP Event. // See https://openid.net/specs/openid-caep-specification-1_0.html#rfc.section.3.3.1 for the options for this field ChangeType ChangeType }
The credential change event is a CAEP Event, defined here: https://openid.net/specs/openid-caep-specification-1_0-ID1.html#rfc.section.3.3
func (*CredentialChangeEvent) GetChangeType ¶
func (event *CredentialChangeEvent) GetChangeType() ChangeType
func (*CredentialChangeEvent) GetCredentialType ¶
func (event *CredentialChangeEvent) GetCredentialType() CredentialType
func (*CredentialChangeEvent) GetEventUri ¶
func (event *CredentialChangeEvent) GetEventUri() string
func (*CredentialChangeEvent) GetSubject ¶
func (event *CredentialChangeEvent) GetSubject() map[string]interface{}
func (*CredentialChangeEvent) GetSubjectFormat ¶
func (event *CredentialChangeEvent) GetSubjectFormat() SubjectFormat
func (*CredentialChangeEvent) GetTimestamp ¶
func (event *CredentialChangeEvent) GetTimestamp() int64
func (*CredentialChangeEvent) GetType ¶
func (event *CredentialChangeEvent) GetType() EventType
type CredentialType ¶
type CredentialType uint64
const ( Password CredentialType = iota Pin X509 Fido2_platform Fido2_roaming Fido_u2f Verifiable_credential Phone_voice Phone_sms App )
type DeviceComplianceEvent ¶
type DeviceComplianceEvent struct { // Json defines the raw JSON of the CAEP Event. Used if // a developer wants greater control over all the attributes // of the CAEP Event Json map[string]interface{} // SubjectFormat defines the format of the subject event. // // See: https://datatracker.ietf.org/doc/html/draft-ietf-secevent-subject-identifiers // for an overview of available subject formats for CAEP Events Format SubjectFormat // Subject defines the subject that the CAEP Event applies to. // // See your transmitter's specification for the exact format // of the Subject Subject map[string]interface{} // EventTimestamp defines the timestamp of the CAEP Event in // Unix time (seconds since January 1, 1970 UTC) EventTimestamp int64 // PreviousStatus defines the compliance status prior to the change that triggered the event. // See https://openid.net/specs/openid-caep-specification-1_0.html#rfc.section.3.5.1 for the options for this field PreviousStatus string // CurrentStatus defines the current status that triggered the event. // See https://openid.net/specs/openid-caep-specification-1_0.html#rfc.section.3.5.1 for the options for this field CurrentStatus string }
The device compliance event is a CAEP Event, defined here: https://openid.net/specs/openid-caep-specification-1_0-ID1.html#rfc.section.3.5
func (*DeviceComplianceEvent) GetCurrentStatus ¶
func (event *DeviceComplianceEvent) GetCurrentStatus() string
func (*DeviceComplianceEvent) GetEventUri ¶
func (event *DeviceComplianceEvent) GetEventUri() string
func (*DeviceComplianceEvent) GetPreviousStatus ¶
func (event *DeviceComplianceEvent) GetPreviousStatus() string
func (*DeviceComplianceEvent) GetSubject ¶
func (event *DeviceComplianceEvent) GetSubject() map[string]interface{}
func (*DeviceComplianceEvent) GetSubjectFormat ¶
func (event *DeviceComplianceEvent) GetSubjectFormat() SubjectFormat
func (*DeviceComplianceEvent) GetTimestamp ¶
func (event *DeviceComplianceEvent) GetTimestamp() int64
func (*DeviceComplianceEvent) GetType ¶
func (event *DeviceComplianceEvent) GetType() EventType
type SessionRevokedEvent ¶
type SessionRevokedEvent struct { // Json defines the raw JSON of the CAEP Event. Used if // a developer wants greater control over all the attributes // of the CAEP Event Json map[string]interface{} // SubjectFormat defines the format of the subject event. // // See: https://datatracker.ietf.org/doc/html/draft-ietf-secevent-subject-identifiers // for an overview of available subject formats for CAEP Events Format SubjectFormat // Subject defines the subject that the CAEP Event applies to. // // See your transmitter's specification for the exact format // of the Subject Subject map[string]interface{} // EventTimestamp defines the timestamp of the CAEP Event in // Unix time (seconds since January 1, 1970 UTC) EventTimestamp int64 }
The session revoked event is a CAEP Event, defined here: https://openid.net/specs/openid-caep-specification-1_0-ID1.html#rfc.section.3.1
func (*SessionRevokedEvent) GetEventUri ¶
func (event *SessionRevokedEvent) GetEventUri() string
func (*SessionRevokedEvent) GetSubject ¶
func (event *SessionRevokedEvent) GetSubject() map[string]interface{}
func (*SessionRevokedEvent) GetSubjectFormat ¶
func (event *SessionRevokedEvent) GetSubjectFormat() SubjectFormat
func (*SessionRevokedEvent) GetTimestamp ¶
func (event *SessionRevokedEvent) GetTimestamp() int64
func (*SessionRevokedEvent) GetType ¶
func (event *SessionRevokedEvent) GetType() EventType
type SsfEvent ¶
type SsfEvent interface { // Returns the Event URI for the given event GetEventUri() string // Returns the format of the event's subject GetSubjectFormat() SubjectFormat // Returns the subject of the event GetSubject() map[string]interface{} // Returns the Unix timestamp of the event GetTimestamp() int64 // Return the type of event GetType() EventType }
Represents the interface that all SSF Events should implement
See the SessionRevokedEvent (./events/session_revoked_event.go) for an example
type StreamUpdatedEvent ¶
type StreamUpdatedEvent struct { // Json defines the raw JSON of the CAEP Event. Used if // a developer wants greater control over all the attributes // of the CAEP Event Json map[string]interface{} // Status defines the new status of the stream. Status string // Provides a short description of why the Transmitter has updated the status. Reason string }
The Verification event is an SSE Event, defined here: https://openid.github.io/sharedsignals/openid-sharedsignals-framework-1_0.html#name-stream-updated-event
func (*StreamUpdatedEvent) GetEventUri ¶
func (event *StreamUpdatedEvent) GetEventUri() string
func (*StreamUpdatedEvent) GetState ¶
func (event *StreamUpdatedEvent) GetState() string
func (*StreamUpdatedEvent) GetSubject ¶
func (event *StreamUpdatedEvent) GetSubject() map[string]interface{}
func (*StreamUpdatedEvent) GetSubjectFormat ¶
func (event *StreamUpdatedEvent) GetSubjectFormat() SubjectFormat
func (*StreamUpdatedEvent) GetTimestamp ¶
func (event *StreamUpdatedEvent) GetTimestamp() int64
func (*StreamUpdatedEvent) GetType ¶
func (event *StreamUpdatedEvent) GetType() EventType
type SubjectFormat ¶
type SubjectFormat int
const ( Account SubjectFormat = iota Email IssuerAndSubject Opaque PhoneNumber DecentralizedIdentifier UniqueResourceIdentifier Aliases ComplexSubject )
func GetSubjectFormat ¶
func GetSubjectFormat(subject map[string]interface{}) (SubjectFormat, error)
type TokenClaimsChangeEvent ¶
type TokenClaimsChangeEvent struct { // Json defines the raw JSON of the CAEP Event. Used if // a developer wants greater control over all the attributes // of the CAEP Event Json map[string]interface{} // SubjectFormat defines the format of the subject event. // // See: https://datatracker.ietf.org/doc/html/draft-ietf-secevent-subject-identifiers // for an overview of available subject formats for CAEP Events Format SubjectFormat // Subject defines the subject that the CAEP Event applies to. // // See your transmitter's specification for the exact format // of the Subject Subject map[string]interface{} // Claims defines one or more claims with their new value(s) that has changed. Claims map[string]interface{} // EventTimestamp defines the timestamp of the CAEP Event in // Unix time (seconds since January 1, 1970 UTC) EventTimestamp int64 }
The session revoked event is a CAEP Event, defined here: https://openid.net/specs/openid-caep-specification-1_0-ID1.html#rfc.section.3.1
func (*TokenClaimsChangeEvent) GetClaims ¶
func (event *TokenClaimsChangeEvent) GetClaims() map[string]interface{}
func (*TokenClaimsChangeEvent) GetEventUri ¶
func (event *TokenClaimsChangeEvent) GetEventUri() string
func (*TokenClaimsChangeEvent) GetSubject ¶
func (event *TokenClaimsChangeEvent) GetSubject() map[string]interface{}
func (*TokenClaimsChangeEvent) GetSubjectFormat ¶
func (event *TokenClaimsChangeEvent) GetSubjectFormat() SubjectFormat
func (*TokenClaimsChangeEvent) GetTimestamp ¶
func (event *TokenClaimsChangeEvent) GetTimestamp() int64
func (*TokenClaimsChangeEvent) GetType ¶
func (event *TokenClaimsChangeEvent) GetType() EventType
type VerificationEvent ¶
type VerificationEvent struct { // Json defines the raw JSON of the CAEP Event. Used if // a developer wants greater control over all the attributes // of the CAEP Event Json map[string]interface{} // Event Receivers MAY use the value of this parameter to // correlate a verification event with a verification request. State string }
The Verification event is an SSE Event, defined here: https://openid.github.io/sharedsignals/openid-sharedsignals-framework-1_0.html#name-verification
func (*VerificationEvent) GetEventUri ¶
func (event *VerificationEvent) GetEventUri() string
func (*VerificationEvent) GetState ¶
func (event *VerificationEvent) GetState() string
func (*VerificationEvent) GetSubject ¶
func (event *VerificationEvent) GetSubject() map[string]interface{}
func (*VerificationEvent) GetSubjectFormat ¶
func (event *VerificationEvent) GetSubjectFormat() SubjectFormat
func (*VerificationEvent) GetTimestamp ¶
func (event *VerificationEvent) GetTimestamp() int64
func (*VerificationEvent) GetType ¶
func (event *VerificationEvent) GetType() EventType