Udap.Server
0.8.0
dotnet add package Udap.Server --version 0.8.0
NuGet\Install-Package Udap.Server -Version 0.8.0
<PackageReference Include="Udap.Server" Version="0.8.0" />
<PackageVersion Include="Udap.Server" Version="0.8.0" />
<PackageReference Include="Udap.Server" />
paket add Udap.Server --version 0.8.0
#r "nuget: Udap.Server, 0.8.0"
#:package Udap.Server@0.8.0
#addin nuget:?package=Udap.Server&version=0.8.0
#tool nuget:?package=Udap.Server&version=0.8.0
Udap.Server
📦 Nuget Package: Udap.Server
This package adds UDAP Dynamic Client Registration (DCR) and metadata capabilities to an authorization server built on Duende IdentityServer. It provides the .well-known/udap metadata endpoint and the /connect/register DCR endpoint as extensions to the IdentityServer pipeline.
Note: Duende IdentityServer requires a license for production use above $1M annual revenue.
Features
- UDAP metadata endpoint (
.well-known/udap) - Dynamic Client Registration (create, update, cancel)
- Multi-community trust anchor support
- Authorization Extension Object (AEO) enforcement via
IUdapAuthorizationExtensionValidator - Tiered OAuth support
Profile-Specific Validation
For SSRAA or TEFCA community-specific validation rules, add the corresponding packages:
Udap.Ssraa.Server— HL7 v3 PurposeOfUse enforcementUdap.Tefca.Server— TEFCA Exchange Purpose (XP) code validation, SAN matchingUdap.Tefca.Model— TEFCA extension models (tefca-ias, XP constants)
Full Example
Below is a full example. See also the Udap.Auth.Server example project.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddIdentityServer()
.AddConfigurationStore(options =>
{
options.ConfigureDbContext = b => b.UseSqlite(connectionString,
dbOpts => dbOpts.MigrationsAssembly(migrationsAssembly));
})
.AddOperationalStore(options =>
{
options.ConfigureDbContext = b => b.UseSqlite(connectionString,
dbOpts => dbOpts.MigrationsAssembly(migrationsAssembly));
})
.AddResourceStore<ResourceStore>()
.AddClientStore<ClientStore>()
.AddTestUsers(TestUsers.Users)
.AddUdapServer(
options =>
{
var udapServerOptions = builder.Configuration.GetOption<ServerSettings>("ServerSettings");
options.DefaultSystemScopes = udapServerOptions.DefaultSystemScopes;
options.DefaultUserScopes = udapServerOptions.DefaultUserScopes;
options.ForceStateParamOnAuthorizationCode = udapServerOptions
.ForceStateParamOnAuthorizationCode;
},
options =>
options.UdapDbContext = b =>
b.UseSqlite(connectionString,
dbOpts =>
dbOpts.MigrationsAssembly(typeof(Program).Assembly.FullName)),
baseUrl: "https://localhost:5002/connect/register"
);
var app = builder.Build();
app.UseStaticFiles();
app.UseRouting();
app.UseUdapServer();
app.UseIdentityServer();
app.UseAuthorization();
app.MapRazorPages().RequireAuthorization();
app.Run();
Database Configuration
EF Core migration projects are available for both database providers:
- UdapDb.SqlServer — SQL Server migrations
- UdapDb.Postgres — PostgreSQL migrations
These projects create all UDAP and Duende IdentityServer tables and seed data needed for running local tests. See SeedData.cs for details.
Examples
- FHIR® is the registered trademark of HL7 and is used with the permission of HL7. Use of the FHIR trademark does not constitute endorsement of the contents of this repository by HL7.
- UDAP® and the UDAP gear logo, ecosystem gears, and green lock designs are trademarks of UDAP.org.
| 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
- Duende.IdentityServer (>= 7.4.7)
- Duende.IdentityServer.AspNetIdentity (>= 7.4.7)
- Duende.IdentityServer.EntityFramework.Storage (>= 7.4.7)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 10.0.8)
- Microsoft.AspNetCore.DataProtection.EntityFrameworkCore (>= 10.0.8)
- Microsoft.Bcl.Memory (>= 10.0.8)
- Microsoft.EntityFrameworkCore (>= 10.0.8)
- System.IdentityModel.Tokens.Jwt (>= 8.18.0)
- Udap.Client (>= 0.8.0)
- Udap.Common (>= 0.8.0)
- Udap.Model (>= 0.8.0)
- Udap.Server.Storage (>= 0.8.0)
-
net8.0
- Duende.IdentityServer (>= 7.4.7)
- Duende.IdentityServer.AspNetIdentity (>= 7.4.7)
- Duende.IdentityServer.EntityFramework.Storage (>= 7.4.7)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 8.0.27)
- Microsoft.AspNetCore.DataProtection.EntityFrameworkCore (>= 8.0.27)
- Microsoft.Bcl.Memory (>= 10.0.8)
- Microsoft.EntityFrameworkCore (>= 9.0.16)
- System.IdentityModel.Tokens.Jwt (>= 8.18.0)
- Udap.Client (>= 0.8.0)
- Udap.Common (>= 0.8.0)
- Udap.Model (>= 0.8.0)
- Udap.Server.Storage (>= 0.8.0)
-
net9.0
- Duende.IdentityServer (>= 7.4.7)
- Duende.IdentityServer.AspNetIdentity (>= 7.4.7)
- Duende.IdentityServer.EntityFramework.Storage (>= 7.4.7)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 9.0.16)
- Microsoft.AspNetCore.DataProtection.EntityFrameworkCore (>= 9.0.16)
- Microsoft.Bcl.Memory (>= 10.0.8)
- Microsoft.EntityFrameworkCore (>= 9.0.16)
- System.IdentityModel.Tokens.Jwt (>= 8.18.0)
- Udap.Client (>= 0.8.0)
- Udap.Common (>= 0.8.0)
- Udap.Model (>= 0.8.0)
- Udap.Server.Storage (>= 0.8.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Udap.Server:
| Package | Downloads |
|---|---|
|
Udap.UI
Package is a part of the UDAP reference implementation for .NET. |
|
|
Udap.Tefca.Server
TEFCA community-specific validators for UDAP registration and token issuance. |
|
|
Udap.Ssraa.Server
SSRAA community-specific validators for UDAP token issuance with HL7 v3 PurposeOfUse enforcement. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.8.0 | 47 | 5/15/2026 |
| 0.7.13 | 41 | 5/15/2026 |
| 0.7.12 | 356 | 4/1/2026 |
| 0.7.11 | 152 | 3/31/2026 |
| 0.7.10 | 143 | 3/31/2026 |
| 0.7.9 | 161 | 3/31/2026 |
| 0.7.8 | 157 | 3/30/2026 |
| 0.7.7 | 144 | 3/30/2026 |
| 0.7.6 | 149 | 3/30/2026 |
| 0.7.5 | 156 | 3/30/2026 |
| 0.7.4 | 139 | 3/29/2026 |
| 0.7.3 | 134 | 3/29/2026 |
| 0.7.2 | 145 | 3/28/2026 |
| 0.7.1 | 116 | 3/23/2026 |
| 0.7.0 | 113 | 3/22/2026 |
| 0.6.16 | 122 | 3/22/2026 |
| 0.6.14 | 138 | 3/16/2026 |
| 0.6.13 | 124 | 3/15/2026 |
| 0.6.12 | 122 | 3/14/2026 |
| 0.6.11 | 124 | 3/14/2026 |