Raycynix.Extensions.Security
3.0.0
dotnet add package Raycynix.Extensions.Security --version 3.0.0
NuGet\Install-Package Raycynix.Extensions.Security -Version 3.0.0
<PackageReference Include="Raycynix.Extensions.Security" Version="3.0.0" />
<PackageVersion Include="Raycynix.Extensions.Security" Version="3.0.0" />
<PackageReference Include="Raycynix.Extensions.Security" />
paket add Raycynix.Extensions.Security --version 3.0.0
#r "nuget: Raycynix.Extensions.Security, 3.0.0"
#:package Raycynix.Extensions.Security@3.0.0
#addin nuget:?package=Raycynix.Extensions.Security&version=3.0.0
#tool nuget:?package=Raycynix.Extensions.Security&version=3.0.0
Raycynix.Extensions.Security
Raycynix.Extensions.Security contains the core, host-agnostic security implementation for Raycynix applications.
What it contains
SecurityContextAddRaycynixSecurity(...)SecurityOptionsJwtOptions- DI registration for
ISecurityContext
What it does not contain
- ASP.NET Core authentication handlers
- HTTP request mapping
- JWT validation middleware
- authorization policies
- secret storage and resolution
Usage
builder.Services.AddRaycynixSecurity(builder.Configuration, options =>
{
options.JwtOptions.Authority = "https://auth.raycynix.com";
options.JwtOptions.Issuer = "raycynix-auth";
options.JwtOptions.Audience = "raycynix-services";
});
{
"SecurityOptions": {
"JwtOptions": {
"Authority": "https://auth.raycynix.com",
"Issuer": "raycynix-auth",
"Audience": "raycynix-services",
"AccessTokenLifetime": "00:15:00",
"RefreshTokenLifetime": "14.00:00:00",
"ClockSkew": "00:01:00",
"RequireHttpsMetadata": true
}
}
}
The package binds settings from the SecurityOptions section and allows optional overrides in code.
Both the root and nested options are available through dependency injection and use the same bound snapshot:
public sealed class TokenService(SecurityOptions security, JwtOptions jwt)
{
public bool UsesSharedSnapshot => ReferenceEquals(security.JwtOptions, jwt);
}
For ASP.NET Core request binding and web-specific integration, use Raycynix.Extensions.Security.AspNetCore.
For secret resolution, use Raycynix.Extensions.Secrets.
Logging
This package contains host-agnostic registration, configuration, and the default security context model. Runtime authentication and authorization diagnostics belong to host integration packages, so this package does not add a logging dependency.
Migrating From 2.x
- Replace
SecurityConfigurationwithSecurityOptions. - Replace
JwtConfigurationwithJwtOptions. - Replace the
Raycynix.Extensions.Security.Configurationsnamespace withRaycynix.Extensions.Security.Options. - Rename the root configuration section from
SecurityConfigurationtoSecurityOptionsand the nested key fromJwttoJwtOptions. - Remove separate
JwtOptionsbinding or construction.AddRaycynixSecurity(...)now registers the bound nested options directly.
| 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
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Raycynix.Extensions.Configuration (>= 3.0.0)
- Raycynix.Extensions.Security.Abstractions (>= 3.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Raycynix.Extensions.Security:
| Package | Downloads |
|---|---|
|
Raycynix.Extensions.Security.AspNetCore
ASP.NET Core JWT authentication, configurable rate limiting, validated dynamic authorization policies, action attributes, and request security context wiring. |
GitHub repositories
This package is not used by any popular GitHub repositories.
v3.0.0 renames security configuration models to SecurityOptions and JwtOptions, binds from SecurityOptions:JwtOptions, exposes the bound JwtOptions snapshot directly through DI, and validates JWT authority URIs.