ND.FW.ClientManagement
1.0.2
dotnet add package ND.FW.ClientManagement --version 1.0.2
NuGet\Install-Package ND.FW.ClientManagement -Version 1.0.2
<PackageReference Include="ND.FW.ClientManagement" Version="1.0.2" />
<PackageVersion Include="ND.FW.ClientManagement" Version="1.0.2" />
<PackageReference Include="ND.FW.ClientManagement" />
paket add ND.FW.ClientManagement --version 1.0.2
#r "nuget: ND.FW.ClientManagement, 1.0.2"
#:package ND.FW.ClientManagement@1.0.2
#addin nuget:?package=ND.FW.ClientManagement&version=1.0.2
#tool nuget:?package=ND.FW.ClientManagement&version=1.0.2
ND.FW.ClientManagement
Azure credential and typed client factory for Novacis Digital services.
Registers ManagedIdentityCredential and AzureCliCredential as keyed singletons
behind IClientManagement, so consuming services resolve the right credential for
their environment (cloud vs. local dev) via a single DI call — no if/else
credential-selection logic scattered across application code.
Install
dotnet add package ND.FW.ClientManagement
Register
using ClientManagement.Implementations; // AddAzureClientManagement extension lives alongside this package
services.AddAzureClientManagement();
This registers:
TokenCredential(keyed:CredentialType.ManagedIdentity) →ManagedIdentityCredentialTokenCredential(keyed:CredentialType.CommandLineInterface) →AzureCliCredentialIClientManagement(singleton) →AzureClientFactory
Usage
using ClientManagement.Abstractions;
using ClientManagement.Constants;
using Azure.Core;
public class MyService
{
private readonly TokenCredential _credential;
public MyService(IClientManagement clientManagement)
{
// Resolves the ManagedIdentityCredential (or AzureCliCredential locally)
// without the caller needing to know which one applies.
_credential = clientManagement.CreateClient<TokenCredential>(CredentialType.ManagedIdentity);
}
}
API
IClientManagement
public interface IClientManagement
{
T CreateClient<T>(CredentialType key) where T : class;
}
Resolves a keyed service registered against the given CredentialType. Any keyed
service can be resolved this way — not just TokenCredential — provided it was
registered with AddKeyedSingleton<T>(key, ...) for that CredentialType.
CredentialType
public enum CredentialType
{
ManagedIdentity,
CommandLineInterface
}
| Value | Intended environment |
|---|---|
ManagedIdentity |
Azure-hosted (App Service, AKS, Functions, etc.) |
CommandLineInterface |
Local development (az login session) |
Dependencies
Azure.Identity1.20.0Azure.Extensions.AspNetCore.Configuration.Secrets1.4.0
Versioning
This package has no dependency on other ND.FW.* packages — it can be published
independently and is a prerequisite for ND.FW.SecretManagement.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net8.0
- Azure.Extensions.AspNetCore.Configuration.Secrets (>= 1.4.0)
- Azure.Identity (>= 1.20.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on ND.FW.ClientManagement:
| Package | Downloads |
|---|---|
|
ND.FW.RDBM
Unified, extensible database provider framework for relational databases. Current implementation supports PostgreSQL with planned extensions for SQL Server, MySQL, Oracle, and Snowflake. Features include query execution, stored procedure support (single/multiple cursors), retry policies, comprehensive error handling, and integrated logging. |
|
|
ND.FW.SecretManagement
Azure Key Vault-backed secret source for Novacis Digital services. Resolves credentials via ND.FW.ClientManagement (IClientManagement) so Key Vault access uses the correct credential for the environment (cloud vs local dev), with no if/else credential logic in application code. |
|
|
ND.FW.QueueManagement
Provider-agnostic message publish/consume abstraction for Novacis Digital services, backed by ActiveMQ (primary) and Azure Service Bus (supported). Business code depends only on IQueuePublisher / IQueueConsumer / IQueueProviderFactory — the active provider is selected via configuration, with no provider-specific code in application layers. |
GitHub repositories
This package is not used by any popular GitHub repositories.