HashGate - HMAC Authentication Implementation

In today’s microservices landscape, secure server-to-server communication is more critical than ever. While OAuth and JWT tokens are popular choices for user authentication, they often introduce unnecessary complexity and dependencies for service-to-service communication. That’s where HashGate comes in - a lightweight, powerful HMAC authentication library designed specifically for ASP.NET Core applications.

https://github.com/loresoft/HashGate

What is HashGate?

HashGate is a comprehensive HMAC (Hash-based Message Authentication Code) authentication system that provides both server-side authentication middleware and client-side HTTP handlers. Inspired by AWS Signature Version 4 and Azure HMAC Authentication, HashGate ensures that every HTTP request is cryptographically signed, providing request integrity and authenticity without the overhead of traditional token-based systems.


Privileged: A Powerful Authorization Library for .NET

Privileged, a .NET authorization library that makes implementing rule-based permissions both simple and powerful. Whether you’re building a basic web application or a complex enterprise system, Privileged provides the flexibility to scale from simple claim-based authorization to a fully-featured subject and attribute-based authorization system.

https://github.com/loresoft/Privileged

What is Privileged?

Privileged is an authorization library that operates on rules defining what a user can actually do in your application. It’s designed to be incrementally adoptable - you can start simple and add complexity as your authorization requirements grow.


Exploring the Arbiter Project: A Modern Take on the Mediator Pattern in .NET

Discover the Arbiter project - a modern implementation of the Mediator pattern for .NET applications embracing clean architecture and CQRS principles.

What is the Arbiter Project?

The Arbiter project is a comprehensive suite of libraries that implements the Mediator pattern and Command Query Responsibility Segregation (CQRS) in .NET. At its core lies the Arbiter.Mediation library, which serves as the foundation for building loosely coupled, testable applications using clean architectural patterns like Vertical Slice Architecture and CQRS.


AspNetCore.SecurityKey - Security API Key Authentication Implementation for ASP.NET Core

A flexible and lightweight API key authentication library for ASP.NET Core applications that supports multiple authentication patterns and integrates seamlessly with ASP.NET Core’s authentication and authorization infrastructure.

Overview

AspNetCore.SecurityKey provides a complete API key authentication solution for ASP.NET Core applications with support for modern development patterns and best practices.

Key Features:

  • Multiple Input Sources - API keys via headers, query parameters, or cookies
  • Flexible Authentication - Works with ASP.NET Core’s built-in authentication or as standalone middleware
  • Extensible Design - Custom validation and extraction logic support
  • Rich Integration - Controller attributes, middleware, and minimal API support
  • OpenAPI Support - Automatic Swagger/OpenAPI documentation generation (.NET 9+)
  • High Performance - Minimal overhead with optional caching
  • Multiple Deployment Patterns - Attribute-based, middleware, or endpoint filters

Quick Start

  1. Install the package:


Equatable.Generator - Source generator for Equals and GetHashCode

Source generator for Equals and GetHashCode

Features

  • Override Equals and GetHashCode
  • Implement IEquatable<T>
  • Support class, record and struct types
  • Support EqualityComparer per property
  • Comparers supported: String, Sequence, Dictionary, HashSet, Reference, and Custom
  • No dependencies

Usage

Add package

Add the nuget package to your projects.

dotnet add package Equatable.Generator

Prevent including Equatable.Generator as a dependency

<PackageReference Include="Equatable.Generator" PrivateAssets="all" />

Requirements

This library requires:

  • Target framework .NET Standard 2.0 or greater
  • Project C# LangVersion 8.0 or higher

Equatable Attributes

Place equatable attribute on a class, record or struct. The source generator will create a partial with overrides for Equals and GetHashCode.