Udap.Ssraa.Server
0.8.5
dotnet add package Udap.Ssraa.Server --version 0.8.5
NuGet\Install-Package Udap.Ssraa.Server -Version 0.8.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Udap.Ssraa.Server" Version="0.8.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Udap.Ssraa.Server" Version="0.8.5" />Directory.Packages.props
<PackageReference Include="Udap.Ssraa.Server" />Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Udap.Ssraa.Server --version 0.8.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Udap.Ssraa.Server, 0.8.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Udap.Ssraa.Server@0.8.5
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Udap.Ssraa.Server&version=0.8.5Install as a Cake Addin
#tool nuget:?package=Udap.Ssraa.Server&version=0.8.5Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Udap.Ssraa.Server
SSRAA community-specific validators for UDAP token issuance with HL7 v3 PurposeOfUse enforcement.
Setup
builder.Services.AddUdapSsraaValidation(options =>
{
options.Communities.Add("udap://fhirlabs.net");
});
Multiple communities can share the same SSRAA rules:
builder.Services.AddUdapSsraaValidation(options =>
{
options.Communities.Add("udap://fhirlabs.net");
options.Communities.Add("udap://another-community.example.com");
});
What it enforces
| Rule | client_credentials |
authorization_code |
|---|---|---|
| Required extensions | hl7-b2b |
none |
Allowed purpose_of_use |
All 62 HL7 v3 codes | All 62 HL7 v3 codes |
Max purpose_of_use count |
unlimited | unlimited |
The allowed purpose_of_use codes come from the HL7 v3 PurposeOfUse value set (OID: 2.16.840.1.113883.5.8).
Customizing required extensions
The defaults match the SSRAA IG, but you can override per grant type:
builder.Services.AddUdapSsraaValidation(options =>
{
options.Communities.Add("udap://fhirlabs.net");
// Require hl7-b2b for both grant types (default only requires it for client_credentials)
options.AuthorizationCodeExtensionsRequired = ["hl7-b2b"];
// Or remove the client_credentials requirement
options.ClientCredentialsExtensionsRequired = null;
});
How it works
SsraaTokenValidator implements ICommunityTokenValidator. At token request time:
DefaultUdapAuthorizationExtensionValidatorresolves the client's community from the registration store- Iterates registered
ICommunityTokenValidatorimplementations SsraaTokenValidator.AppliesToCommunity()matches if the community is in the configured setGetValidationRules()returns the rules for the grant type- The framework enforces required extensions and validates
purpose_of_usecodes
See Udap.Server for the full auth server setup and the Udap.Auth.Server example for a working reference.
| 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- BouncyCastle.Cryptography (>= 2.6.2)
- Duende.IdentityModel (>= 8.1.0)
- Duende.IdentityServer (>= 7.4.7)
- Duende.IdentityServer.AspNetIdentity (>= 7.4.7)
- Duende.IdentityServer.EntityFramework.Storage (>= 7.4.7)
- Duende.IdentityServer.Storage (>= 7.4.7)
- Hl7.Fhir.Base (>= 5.13.3)
- Hl7.Fhir.R4B (>= 5.13.3)
- Hl7.Fhir.Specification.R4B (>= 5.13.3)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 10.0.8)
- Microsoft.AspNetCore.DataProtection.Abstractions (>= 10.0.8)
- Microsoft.AspNetCore.DataProtection.EntityFrameworkCore (>= 10.0.8)
- Microsoft.Bcl.Memory (>= 10.0.8)
- Microsoft.EntityFrameworkCore (>= 10.0.8)
- Microsoft.Extensions.Configuration (>= 10.0.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Configuration.Binder (>= 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.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.8)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.18.0)
- System.IdentityModel.Tokens.Jwt (>= 8.18.0)
- Udap.Server (>= 0.8.5)
- ZiggyCreatures.FusionCache (>= 2.6.0)
-
net8.0
- BouncyCastle.Cryptography (>= 2.6.2)
- Duende.IdentityModel (>= 8.1.0)
- Duende.IdentityServer (>= 7.4.7)
- Duende.IdentityServer.AspNetIdentity (>= 7.4.7)
- Duende.IdentityServer.EntityFramework.Storage (>= 7.4.7)
- Duende.IdentityServer.Storage (>= 7.4.7)
- Hl7.Fhir.Base (>= 5.13.3)
- Hl7.Fhir.R4B (>= 5.13.3)
- Hl7.Fhir.Specification.R4B (>= 5.13.3)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 8.0.27)
- Microsoft.AspNetCore.DataProtection.Abstractions (>= 10.0.8)
- Microsoft.AspNetCore.DataProtection.EntityFrameworkCore (>= 8.0.27)
- Microsoft.Bcl.Memory (>= 10.0.8)
- Microsoft.EntityFrameworkCore (>= 9.0.16)
- Microsoft.Extensions.Configuration (>= 10.0.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Configuration.Binder (>= 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.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.8)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.18.0)
- System.IdentityModel.Tokens.Jwt (>= 8.18.0)
- Udap.Server (>= 0.8.5)
- ZiggyCreatures.FusionCache (>= 2.6.0)
-
net9.0
- BouncyCastle.Cryptography (>= 2.6.2)
- Duende.IdentityModel (>= 8.1.0)
- Duende.IdentityServer (>= 7.4.7)
- Duende.IdentityServer.AspNetIdentity (>= 7.4.7)
- Duende.IdentityServer.EntityFramework.Storage (>= 7.4.7)
- Duende.IdentityServer.Storage (>= 7.4.7)
- Hl7.Fhir.Base (>= 5.13.3)
- Hl7.Fhir.R4B (>= 5.13.3)
- Hl7.Fhir.Specification.R4B (>= 5.13.3)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 9.0.16)
- Microsoft.AspNetCore.DataProtection.Abstractions (>= 10.0.8)
- Microsoft.AspNetCore.DataProtection.EntityFrameworkCore (>= 9.0.16)
- Microsoft.Bcl.Memory (>= 10.0.8)
- Microsoft.EntityFrameworkCore (>= 9.0.16)
- Microsoft.Extensions.Configuration (>= 10.0.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Configuration.Binder (>= 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.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.8)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.18.0)
- System.IdentityModel.Tokens.Jwt (>= 8.18.0)
- Udap.Server (>= 0.8.5)
- ZiggyCreatures.FusionCache (>= 2.6.0)
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 |
|---|---|---|
| 0.8.5 | 110 | 6/16/2026 |
| 0.8.4 | 102 | 5/30/2026 |
| 0.8.3 | 117 | 5/29/2026 |
| 0.8.2 | 103 | 5/22/2026 |
| 0.8.1 | 105 | 5/20/2026 |
| 0.8.0 | 110 | 5/15/2026 |
| 0.7.13 | 106 | 5/15/2026 |
| 0.7.12 | 123 | 4/1/2026 |
| 0.7.11 | 105 | 3/31/2026 |
| 0.7.10 | 101 | 3/31/2026 |
| 0.7.9 | 110 | 3/31/2026 |
| 0.7.8 | 107 | 3/30/2026 |
| 0.7.7 | 108 | 3/30/2026 |
| 0.7.6 | 114 | 3/30/2026 |
| 0.7.5 | 111 | 3/30/2026 |