SeliseBlocks.Genesis.Framework.Api
10.0.0.2
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
<PackageReference Include="SeliseBlocks.Genesis.Framework.Api" Version="10.0.0.2" />
<PackageVersion Include="SeliseBlocks.Genesis.Framework.Api" Version="10.0.0.2" />
<PackageReference Include="SeliseBlocks.Genesis.Framework.Api" />
paket add SeliseBlocks.Genesis.Framework.Api --version 10.0.0.2
#r "nuget: SeliseBlocks.Genesis.Framework.Api, 10.0.0.2"
#:package SeliseBlocks.Genesis.Framework.Api@10.0.0.2
#addin nuget:?package=SeliseBlocks.Genesis.Framework.Api&version=10.0.0.2
#tool nuget:?package=SeliseBlocks.Genesis.Framework.Api&version=10.0.0.2
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 authenticationSwashbuckle.AspNetCore(7.2.0) - Swagger/OpenAPI documentationMicrosoft.AspNetCore.Mvc.NewtonsoftJson(10.0.0) - Newtonsoft.Json MVC integrationlog4net(3.3.2) - Logging frameworkSharpCompress(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 authenticationSecurityKeyProvider- Provides signing keys from Key Vault or configurationClaimsTransformerProvider- Transforms claims on each request
Endpoint Protection
ProtectedEndPointAttribute- Marks endpoints requiring authenticationAnonymousEndPointAttribute- Marks endpoints allowing anonymous accessEndPointProtector- Applies protection based on attributesHasAccessQuery- Checks if current user has access to a resource
Swagger / OpenAPI
BlocksSwaggerStartupFilter- Configures Swagger on application startupBlocksSwaggerInstance- Singleton Swagger instance managementSwaggerDocumentFilter- Customizes OpenAPI document generationOpenApiDocumentCache- Caches OpenAPI documents for performance
Middleware Pipeline
TracingMiddleware- Request tracing/correlationGlobalExceptionHandlerMiddleware- Centralized exception handlingAuditLoggerMiddleware- Logs all API requests
| 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.AspNetCore.Authentication.JwtBearer (>= 10.0.11)
- Microsoft.AspNetCore.Mvc.NewtonsoftJson (>= 10.0.11)
- SeliseBlocks.Genesis.Framework.Logger.File (>= 10.0.0.3)
- SeliseBlocks.Genesis.Framework.RedisClient (>= 10.0.0.3)
- SeliseBlocks.Genesis.Framework.Repositories (>= 10.0.0.2)
- SeliseBlocks.Genesis.Framework.ServiceClient (>= 10.0.0.2)
- SharpCompress (>= 0.50.4)
- Snappier (>= 1.3.1)
- Swashbuckle.AspNetCore (>= 10.2.3)
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 |