Abblix.SecurityEvents.RISC
2.4.0
Prefix Reserved
dotnet add package Abblix.SecurityEvents.RISC --version 2.4.0
NuGet\Install-Package Abblix.SecurityEvents.RISC -Version 2.4.0
<PackageReference Include="Abblix.SecurityEvents.RISC" Version="2.4.0" />
<PackageVersion Include="Abblix.SecurityEvents.RISC" Version="2.4.0" />
<PackageReference Include="Abblix.SecurityEvents.RISC" />
paket add Abblix.SecurityEvents.RISC --version 2.4.0
#r "nuget: Abblix.SecurityEvents.RISC, 2.4.0"
#:package Abblix.SecurityEvents.RISC@2.4.0
#addin nuget:?package=Abblix.SecurityEvents.RISC&version=2.4.0
#tool nuget:?package=Abblix.SecurityEvents.RISC&version=2.4.0
Abblix.SecurityEvents.RISC
The OpenID RISC Profile 1.0 (Risk Incident Sharing and Coordination) event dictionary for Abblix.SecurityEvents: typed payload models and event type identifiers for the RISC events, registered over the Security Events core in one call. RISC is how providers protect a shared user together - a credential found in a breach or an account hijacked at one provider becomes a signal every other provider holding the same identifier can act on.
Shared Signals in .NET: SSF, CAEP, RISC and Back-Channel Logout places this vocabulary in the stack, and explains why account-level incidents travel the same envelope and the same streams as session events.
Install
dotnet add package Abblix.SecurityEvents.RISC
Events
| Event | Payload |
|---|---|
account-credential-change-required |
AccountCredentialChangeRequiredPayload |
account-purged |
AccountPurgedPayload |
account-disabled |
AccountDisabledPayload |
account-enabled |
AccountEnabledPayload |
identifier-changed |
IdentifierChangedPayload |
identifier-recycled |
IdentifierRecycledPayload |
credential-compromise |
CredentialCompromisePayload |
opt-in |
OptInPayload |
opt-out-initiated |
OptOutInitiatedPayload |
opt-out-cancelled |
OptOutCancelledPayload |
opt-out-effective |
OptOutEffectivePayload |
recovery-activated |
RecoveryActivatedPayload |
recovery-information-changed |
RecoveryInformationChangedPayload |
sessions-revoked |
SessionsRevokedPayload (deprecated by the specification; kept so it can still be received from older transmitters) |
The compromised credential's credential_type takes its values from the CAEP Credential Change event, per the RISC specification's own cross-reference - the constants live in Abblix.SecurityEvents.CAEP, which this package depends on.
Receiving
services.AddSecurityEvents(options => options.Events.RegisterRiscEvents());
One call teaches the registry the whole dictionary; a validated SET's payloads then arrive as the typed models, and the sink pattern-matches:
if (token.EventPayloads?.GetValueOrDefault(RiscEventTypes.CredentialCompromise) is CredentialCompromisePayload compromise)
{
// force a credential reset; compromise.CredentialType names what was burnt
}
Both dictionaries compose on one registry:
services.AddSecurityEvents(options => options.Events.RegisterCaepEvents().RegisterRiscEvents());
Transmitting
await dispatcher.DispatchAsync(new SecurityEventDescriptor
{
EventType = RiscEventTypes.CredentialCompromise,
Subject = new IssSubSubject(issuer, subject),
Payload = new CredentialCompromisePayload
{
CredentialType = CredentialChangePayload.CredentialTypes.Password,
},
});
Part of the Abblix product family
The events themselves travel over the Abblix.SharedSignals transmitter and receiver; the sibling dictionary for session and access lifecycle is Abblix.SecurityEvents.CAEP, and both compose on one registry.
License
Abblix.SecurityEvents.RISC is licensed under the Apache License 2.0.
Contacts
- General inquiries: info@abblix.com
- Support and security reports: support@abblix.com
- Website: Abblix OIDC Server
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Abblix.SecurityEvents (>= 2.4.0)
- Abblix.SecurityEvents.CAEP (>= 2.4.0)
- Abblix.Utils (>= 2.4.0)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Configuration (>= 10.0.8)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.8)
- Microsoft.Extensions.DependencyInjection (>= 10.0.8)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Http (>= 10.0.8)
- Microsoft.Extensions.Logging (>= 10.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
-
net8.0
- Abblix.SecurityEvents (>= 2.4.0)
- Abblix.SecurityEvents.CAEP (>= 2.4.0)
- Abblix.Utils (>= 2.4.0)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Configuration (>= 10.0.8)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.8)
- Microsoft.Extensions.DependencyInjection (>= 10.0.8)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Http (>= 10.0.8)
- Microsoft.Extensions.Logging (>= 10.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- System.Linq.Async (>= 7.0.1)
-
net9.0
- Abblix.SecurityEvents (>= 2.4.0)
- Abblix.SecurityEvents.CAEP (>= 2.4.0)
- Abblix.Utils (>= 2.4.0)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Configuration (>= 10.0.8)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.8)
- Microsoft.Extensions.DependencyInjection (>= 10.0.8)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Http (>= 10.0.8)
- Microsoft.Extensions.Logging (>= 10.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- System.Linq.Async (>= 7.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.4.0 | 41 | 9/5/2026 |
The events of the Risk Incident Sharing and Coordination profile as typed payloads with their registered event type identifiers: credential compromise, account disabling, enabling and deletion, identifier change and recycling, opt-out and account recovery. Registered over the Security Events core in one call; the same models serve a Shared Signals transmitter and receiver, which is how an identity provider tells a relying party that an account was taken over. Full details: https://github.com/Abblix/Oidc.Server/releases/tag/v2.4