NOF.Infrastructure.Extension.Authorization.Jwt
9.0.0
dotnet add package NOF.Infrastructure.Extension.Authorization.Jwt --version 9.0.0
NuGet\Install-Package NOF.Infrastructure.Extension.Authorization.Jwt -Version 9.0.0
<PackageReference Include="NOF.Infrastructure.Extension.Authorization.Jwt" Version="9.0.0" />
<PackageVersion Include="NOF.Infrastructure.Extension.Authorization.Jwt" Version="9.0.0" />
<PackageReference Include="NOF.Infrastructure.Extension.Authorization.Jwt" />
paket add NOF.Infrastructure.Extension.Authorization.Jwt --version 9.0.0
#r "nuget: NOF.Infrastructure.Extension.Authorization.Jwt, 9.0.0"
#:package NOF.Infrastructure.Extension.Authorization.Jwt@9.0.0
#addin nuget:?package=NOF.Infrastructure.Extension.Authorization.Jwt&version=9.0.0
#tool nuget:?package=NOF.Infrastructure.Extension.Authorization.Jwt&version=9.0.0
NOF.Infrastructure.Extension.Authorization.Jwt
JWT authorization and authority extension for the NOF Framework.
Overview
Provides JWT infrastructure for NOF applications as a resource server (token validation) and as an optional JWT authority (token issuance). Outbound token propagation is provided separately by NOF.Hosting.Extension.Authorization.Jwt. No ASP.NET Core dependency; works with any NOF host.
Features
Resource Server
- JWKS Client -
AddJwtResourceServer()registersNOF.Contract.Extension.Authorization.Jwt.HttpJwksServiceas the defaultIJwksServiceclient - JWKS Provider -
IJwksProvidercaches signing keys locally and serves validation from cache; when the host also acts as an authority it refreshes directly from local signing keys instead of re-callingIJwksService - Token Validation -
JwtResourceServerInboundMiddlewarevalidates Bearer tokens with configurable issuer, audience, and lifetime checks - Outbound Propagation - resource server setup also enables JWT token propagation for downstream NOF calls
- Key Rotation Refresh -
RefreshJwksOnKeyRotationrefreshes cached keys whenJwtKeyRotationNotificationis received
Authority (Server)
- Token Issuance - generate access and refresh token pairs with
kidin JWT header - Key Management -
ISigningKeyServicewith RSA key rotation and retired key retention - JWKS Publishing - expose keys through
IJwksService - Refresh Token Lifecycle - validate and revoke refresh tokens with cache-based revocation
- Automatic Key Rotation - background service rotates keys on a configurable interval
Usage
As a Resource Server
builder.AddJwtResourceServer(options =>
{
options.JwksEndpoint = "https://auth.example.com/.well-known/jwks.json";
options.Issuer = "your-app";
options.Audience = "your-audience";
});
The configuration type for this package is JwtResourceServerOptions. JwksEndpoint is required, and by default the endpoint must use HTTPS.
If you provide your own IJwksService, AddJwtResourceServer() will keep it and still layer IJwksProvider on top for local caching.
If you only need outbound propagation and do not need inbound token validation, reference NOF.Hosting.Extension.Authorization.Jwt and use:
builder.AddJwtTokenPropagation();
Configure via application settings:
{
"NOF": {
"JwtResourceServer": {
"JwksEndpoint": "https://auth.example.com/.well-known/jwks.json",
"Issuer": "your-app",
"Audience": "your-audience"
}
}
}
As a JWT Authority
builder.AddJwtAuthority();
Configure via application settings:
{
"NOF": {
"Authority": {
"Issuer": "your-app"
}
}
}
Dependencies
NOF.Contract.Extension.Authorization.Jwt- JWT contract definitionsNOF.Hosting.Extension.Authorization.Jwt- outbound JWT token propagationNOF.InfrastructureSystem.IdentityModel.Tokens.Jwt
Installation
dotnet add package NOF.Infrastructure.Extension.Authorization.Jwt
License
Apache-2.0
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- NOF.Contract.Extension.Authorization.Jwt (>= 9.0.0)
- NOF.Hosting.Extension.Authorization.Jwt (>= 9.0.0)
- NOF.Infrastructure (>= 9.0.0)
- System.IdentityModel.Tokens.Jwt (>= 8.15.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 |
|---|---|---|
| 9.0.0 | 80 | 4/10/2026 |
| 9.0.0-nightly.1199007.3d5befd | 35 | 4/12/2026 |
| 9.0.0-nightly.1198242.c8a3545 | 36 | 4/12/2026 |
| 9.0.0-nightly.1196197.909eb55 | 36 | 4/10/2026 |
| 8.1.0-nightly.1195804.cce016b | 37 | 4/10/2026 |
| 8.1.0-nightly.1193099.99dde3c | 37 | 4/8/2026 |
| 8.1.0-nightly.1192845.b7d8342 | 43 | 4/8/2026 |
| 8.1.0-nightly.1191847.83ab912 | 39 | 4/7/2026 |
| 8.1.0-nightly.1191516.b6ed90f | 44 | 4/7/2026 |
| 8.1.0-nightly.1190244.7e1669e | 44 | 4/6/2026 |
| 8.0.0 | 93 | 4/3/2026 |
| 8.0.0-nightly.1186048.1e888b7 | 41 | 4/3/2026 |
| 8.0.0-nightly.1184662.3649625 | 40 | 4/2/2026 |
| 8.0.0-nightly.1184610.6235e8d | 36 | 4/2/2026 |
| 8.0.0-nightly.1184586.7831d99 | 37 | 4/2/2026 |
| 8.0.0-nightly.1183027.81361be | 46 | 4/1/2026 |
| 8.0.0-nightly.1182812.d2b8f81 | 48 | 4/1/2026 |
| 8.0.0-nightly.1171454.39c8e77 | 42 | 3/24/2026 |
| 8.0.0-nightly.1171297.eb9cf82 | 40 | 3/24/2026 |
| 8.0.0-nightly.1170307.152510d | 43 | 3/23/2026 |