SeliseBlocks.Genesis.Framework.Api 10.0.0.2

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package SeliseBlocks.Genesis.Framework.Api --version 10.0.0.2
                    
NuGet\Install-Package SeliseBlocks.Genesis.Framework.Api -Version 10.0.0.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="SeliseBlocks.Genesis.Framework.Api" Version="10.0.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SeliseBlocks.Genesis.Framework.Api" Version="10.0.0.2" />
                    
Directory.Packages.props
<PackageReference Include="SeliseBlocks.Genesis.Framework.Api" />
                    
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 SeliseBlocks.Genesis.Framework.Api --version 10.0.0.2
                    
#r "nuget: SeliseBlocks.Genesis.Framework.Api, 10.0.0.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 SeliseBlocks.Genesis.Framework.Api@10.0.0.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=SeliseBlocks.Genesis.Framework.Api&version=10.0.0.2
                    
Install as a Cake Addin
#tool nuget:?package=SeliseBlocks.Genesis.Framework.Api&version=10.0.0.2
                    
Install as a Cake Tool

SeliseBlocks.Genesis.Framework.Api

ASP.NET Core Web API foundation with JWT authentication, Swagger documentation, and endpoint protection middleware.

Project Name & Purpose

SeliseBlocks.Genesis.Framework.Api provides the foundational Web API infrastructure for the Genesis platform. It implements JWT bearer authentication, endpoint protection via custom attributes, Swagger/OpenAPI documentation setup, claims transformation, and middleware for auditing and exception handling. All API controllers and web-facing services in the platform reference this library.

Tech Stack

  • .NET 10.0 (net10.0)
  • ASP.NET Core 10.0 (via Microsoft.AspNetCore.App framework reference)
  • Key Libraries:
    • Microsoft.AspNetCore.Authentication.JwtBearer (10.0.0) - JWT Bearer authentication
    • Swashbuckle.AspNetCore (7.2.0) - Swagger/OpenAPI documentation
    • Microsoft.AspNetCore.Mvc.NewtonsoftJson (10.0.0) - Newtonsoft.Json MVC integration
    • log4net (3.3.2) - Logging framework
    • SharpCompress (0.50.4) / Snappier (1.3.1) - Compression utilities

Dependencies

Internal Project References

Project Version Purpose
SeliseBlocks.Genesis.Framework.Logger.File 10.0.0.2 File-based logging
SeliseBlocks.Genesis.Framework.RedisClient 10.0.0.2 Redis caching
SeliseBlocks.Genesis.Framework.Repositories 10.0.0.1 MongoDB repositories
SeliseBlocks.Genesis.Framework.ServiceClient 10.0.0.1 Service-to-service communication

NuGet Packages

Package Version Purpose
Microsoft.AspNetCore.Authentication.JwtBearer 10.0.0 JWT authentication
Swashbuckle.AspNetCore 7.2.0 Swagger documentation
Microsoft.AspNetCore.Mvc.NewtonsoftJson 10.0.0 JSON serialization
log4net 3.3.2 Logging
SharpCompress 0.50.4 Compression
Snappier 1.3.1 Compression

Structure

ApiDocuments/
  - BlocksSwaggerInstance.cs
  - BlocksSwaggerOptions.cs
  - BlocksSwaggerStartupFilter.cs
  - BlocksApiDocExtensions.cs
  - OpenApiDocumentCache.cs
  - SwaggerDocumentFilter.cs
  - FakeApiDescriptionGroupCollectionProvider.cs

Root level:
  - Security: SecurityKeyProvider.cs, SecurityContextProvider.cs, ClaimsTransformerProvider.cs
  - Authentication: JwtBearerAuthorizationExtension.cs
  - Authorization: ProtectedEndPointAttribute.cs, ProtectedEndpointAccessRequirement.cs,
                   ProtectedEndpointAccessHandler.cs, AnonymousEndPointAttribute.cs,
                   AnonymousEndpointAccessRequirement.cs, AnonymousEndpointAccessHandler.cs,
                   HasAccessQuery.cs, AuthorizationHandlerContextExtensions.cs
  - Middleware: TracingMiddleware.cs, GlobalExceptionHandlerMiddleware.cs,
                AuditLoggerMiddleware.cs, ApplicationBuilderExtensions.cs
  - API: ManagementController.cs, EndPointProtector.cs
  - Configuration: AppSettingsProvider.cs, EnvironmentHelper.cs
  - Utilities: HttpRequestPayloadExtractor.cs, HttpContextExtensions.cs,
              ErrorVerbosities.cs, BlocksWebApiPipelineBuilder.cs,
              BlocksWebApiPipelineBuilderOptions.cs

Key Features

JWT Bearer Authentication

  • JwtBearerAuthorizationExtension - Configures JWT Bearer authentication
  • SecurityKeyProvider - Provides signing keys from Key Vault or configuration
  • ClaimsTransformerProvider - Transforms claims on each request

Endpoint Protection

  • ProtectedEndPointAttribute - Marks endpoints requiring authentication
  • AnonymousEndPointAttribute - Marks endpoints allowing anonymous access
  • EndPointProtector - Applies protection based on attributes
  • HasAccessQuery - Checks if current user has access to a resource

Swagger / OpenAPI

  • BlocksSwaggerStartupFilter - Configures Swagger on application startup
  • BlocksSwaggerInstance - Singleton Swagger instance management
  • SwaggerDocumentFilter - Customizes OpenAPI document generation
  • OpenApiDocumentCache - Caches OpenAPI documents for performance

Middleware Pipeline

  • TracingMiddleware - Request tracing/correlation
  • GlobalExceptionHandlerMiddleware - Centralized exception handling
  • AuditLoggerMiddleware - Logs all API requests
Product 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. 
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
10.0.0.4-rc1 199 8/29/2026
10.0.0.3-rc4 353 8/27/2026
10.0.0.3-rc3 76 8/27/2026
10.0.0.3-rc2 76 8/27/2026
10.0.0.3-rc1 76 8/26/2026
10.0.0.2 3,811 8/16/2026
10.0.0.1 92 8/16/2026
8.0.1.8 492 7/8/2026
8.0.1.7 126 6/30/2026
8.0.1.6 232 4/22/2026
8.0.1.5 3,011 3/1/2026
8.0.1.5-rc1 137 2/26/2026
8.0.1.4 183 1/19/2026
8.0.0.6-rc1 124 7/26/2026
6.0.5.1 172 7/6/2026
6.0.4.6 127 4/26/2026
6.0.4.5 7,063 2/24/2026
6.0.4.4 1,019 1/21/2026
6.0.3.6-rc1 137 4/7/2026
6.0.3.5-rc1 128 4/6/2026
Loading failed