Udap.Ssraa.Server 0.8.2

dotnet add package Udap.Ssraa.Server --version 0.8.2
                    
NuGet\Install-Package Udap.Ssraa.Server -Version 0.8.2
                    
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.2" />
                    
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.2" />
                    
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.2
                    
#r "nuget: Udap.Ssraa.Server, 0.8.2"
                    
#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.2
                    
#: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.2
                    
Install as a Cake Addin
#tool nuget:?package=Udap.Ssraa.Server&version=0.8.2
                    
Install as a Cake Tool

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:

  1. DefaultUdapAuthorizationExtensionValidator resolves the client's community from the registration store
  2. Iterates registered ICommunityTokenValidator implementations
  3. SsraaTokenValidator.AppliesToCommunity() matches if the community is in the configured set
  4. GetValidationRules() returns the rules for the grant type
  5. The framework enforces required extensions and validates purpose_of_use codes

See Udap.Server for the full auth server setup and the Udap.Auth.Server example for a working reference.

Product 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.

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.2 35 5/22/2026
0.8.1 42 5/20/2026
0.8.0 98 5/15/2026
0.7.13 96 5/15/2026
0.7.12 110 4/1/2026
0.7.11 98 3/31/2026
0.7.10 94 3/31/2026
0.7.9 101 3/31/2026
0.7.8 97 3/30/2026
0.7.7 98 3/30/2026
0.7.6 104 3/30/2026
0.7.5 104 3/30/2026