You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

equadrat.Framework.Net.Authentication.Interfaces

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

equadrat.Framework.Net.Authentication.Interfaces

A framework to extend the Microsoft .net framework with extra net(work) functionality.

8.0.0
nugetNuGet
Version published
Maintainers
1
Created
Source

equadrat Framework Net

The idea of the equadrat Framework is to provide APIs to build applications with an architecture of highly decoupled components. Every single component, aspect or pattern is represented by interfaces. The framework provides a standard implementation for these but each type can be replaced by a custom implementation.

The framework is not about reimplementing components, but making them available using common interfaces.

Status

NuGet Version
Azure DevOps coverage
Azure DevOps tests

Getting started

You can use most of the components by simply instantiating them. This is maybe the easiest way to evaluate the framework.

If you're using an IOC/DI container such as Microsoft Extensions DependencyInjection or if you want to use the built-in IOC framework, you can use the bootstrapper and bootstrapper modules to register the framework to the IOC.

Usage

public static void Main(string[] args)
{
    var builder = Host.CreateApplicationBuilder(args);

    // Use the module registry to register bootstrapper modules. Usually each assembly has its own bootstrapper module.
    // This will add their service declarations to the IServiceCollection.
    // This requires equadrat.Framework.Core.Microsoft.Extensions.Hosting NuGet package.
    builder.Services.RegisterBootstrapperModules(moduleRegistry => moduleRegistry.NetFramework().RegisterBaseModule());

    // Declare other services as usual.
    // builder.Services.AddSingleton<...>(...);

    var app = builder.Build();

    // Optional: initialize all services declared by the registered bootstrapper modules. Calling this method is required for all environments which doesn't support IHostedService, such es browsers/webassembly.
    app.Services.InitBootstrapperModules();

    app.Run();
}
  • Get the INetTransportLayer of your choice from the INetTransportLayerProvider.
  • Create and start a listener using the transport layer.
  • Create and connect a client using the transport layer.
  • Authentication (optional)
    • Perform the authentication process of your coice on the client.
    • Handle the authentication process accordingly on the server side.
  • Protocol (optional)
    • Create a raw/rpc connection on the client and server side.
    • Declare the channels you want to use.
      • Name
      • Type: request (usually client side), response (usually server side), duplex
    • Create a request/response channel to send/receive data.
    • Each channel can have multiple request/response streams.

Have a look at the example applications on equadrat.net and in the wiki.

Interesting components

This is a list of some (not all) components of the framework which might be interesting for you.

Transport

  • INetTransportLayerProvider
  • INetTransportLayer
    • NetTransportInMemoryLayer
    • NetTransportTcpLayer
    • NetTransportSecureLayer (SSL/TLS)
  • INetTransportStreamWrapperFactory
  • INetTransportPortManager
  • X509Certificate2Builder (generate self-signed certificates, i.e. when running unit tests)

Authentication

  • INetAuthenticationProcessProvider
  • INetAuthenticationProcess
    • NetAuthenticationNegotiateProcess (Windows NTLM/Kerberos)
    • NetAuthenticationUserIdProcess (username + password)
    • NetAuthenticationUserIdentityProcess (user id + signature, optional server password)

Protocol

  • INetProtocolRawChannelConnectionFactory (each connection with multi byte-stream per channel)
  • INetProtocolDtoChannelConnectionFactory (each connection with multi object-stream per channel)

Compatibility

The plan is to keep the equadrat Framework compatible to these .net versions as long as possible.

.net versionminmax
Core3.1≥ 9.x
Standard2.0≥ 2.1
Framework4.6.2≥ 4.8.x

Version scheme and breaking changes

Version changeScope
MajorOverhaul of the project
MinorSome types have changed
RevisionFully backward compatible
BuildSet in preview versions only

Additional documentation

You can find some guides regarding specific features on my website: www.equadrat.net

Feedback

You can contact me on my website: www.equadrat.net

License

Please respect the license and check equadrat.Framework.Net.License.md before using the package.

Keywords

equadrat

FAQs

Package last updated on 22 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts