---
title: SAIF.NetCore.NtlmApiAuth dependencies
summary: Internal and external dependencies for this library.
status: draft
owner: SAIF Platform Team
last_reviewed: 2026-10-02
library: SAIF.NetCore.NtlmApiAuth
reference_type: package
---

# SAIF.NetCore.NtlmApiAuth dependencies

SAIF.NetCore.NtlmApiAuth takes two internal NuGet package dependencies — the foundation package `SAIF.NetCore.ServiceContracts` and, as one of the three documented implementation-to-implementation exceptions in `Architecture.md`, `SAIF.NetCore.AuthService` — plus one external Swashbuckle dependency, and makes no direct outbound API calls of its own; its only reachable outbound API call is a confirmed transitive chain through AuthService into SecurityAPI.

## Internal dependencies

| Dependency | Reference Type | Usage |
| --- | --- | --- |
| [SAIF.NetCore.ServiceContracts](../saif-netcore-servicecontracts/overview.md) | NuGet Package (same-repo) | Supplies `IHttpJsonClient`, `HttpClientOptions`, and `IEnvironmentClient` contracts consumed by client-side header/options helpers and injected (unused) into `NtlmApiAuthorizationService`. |
| [SAIF.NetCore.AuthService](../saif-netcore-authservice/overview.md) | NuGet Package (same-repo) | Documented implementation-to-implementation exception (`Architecture.md` "Notable exceptions"); supplies `ISecurityClient`, injected into `NtlmApiAuthorizationService` and called by `IsAuthorized` to authorize the request user and, when present, the on-behalf-of user. |

## External dependencies

| Dependency | Version | Usage |
| --- | --- | --- |
| `Swashbuckle.AspNetCore.SwaggerGen` | 6.4.0 | Supplies `SwaggerGenOptions`, `IOperationFilter`, and `OperationFilterContext` used by `SwaggerGenOptionsExtensions.AddDebuggerOnBehalfOfHeader` to expose the `OnBehalfOfUser` header as a Swagger UI parameter when a debugger is attached; forces every consumer, including client-only MVC/Blazor apps, to take a Swashbuckle dependency*. |

## API dependencies

| Endpoint | Method | Called from | Source library | Reached via | Usage |
| --- | --- | --- | --- | --- | --- |
| `GET /v1/Users/IsAuthorized/{userId}/{suffixRole}` | GET | `NtlmApiAuthorizationService.IsAuthorized` (`src/SAIF.NetCore.NtlmApiAuth/src/SAIF.NetCore.NtlmApiAuth/Services/NtmlApiAuthorizationService.cs` L48 for the request user, L53 for the on-behalf-of user) | `SAIF.NetCore.AuthService`, package version `8.2023.319.2` (`src/SAIF.NetCore.AuthService/SAIF.NetCore.AuthService/SAIF.NetCore.AuthService/Clients/SecurityClient.cs`) — `SecurityClient.IsAuthorized` | `SAIF.NetCore.NtlmApiAuth`: NtlmApiAuthorizationService.IsAuthorized → `SAIF.NetCore.AuthService`: SecurityClient.IsAuthorized | Authorizes the request user's role and, if an on-behalf-of user is present, that user's role as well; both calls must return `true` for the dual-identity check to succeed. This behavior was traced from the 10.x `SAIF.NetCore.AuthService` source present in this repository; its applicability to the pinned 8.2023.319.2 package is inferred from the matching `ISecurityClient.IsAuthorized(string,string)` signature, not independently verified.* |

## Dependency risks and notes
- `SAIF.NetCore.AuthService` is pinned at the version-lagged `8.2023.319.2` while the feed's latest is `10.2026.26267.1` and `SAIF.NetCore.ServiceExtensions` centrally pins the current `10.2026.26267.1`; 8.x→10.x binary compatibility for the one member used (`ISecurityClient.IsAuthorized(string,string)`) is inferred from the 10.x source, not verified against the 8.x package*.
- The library injects `IEnvironmentClient` into `NtlmApiAuthorizationService` but never calls it; the environment-based resource-suffix rewrite this constructor parameter once supported has moved into `SAIF.NetCore.AuthService`'s `SecurityClient.GetSuffixRole`*.
- No type in this repository references `SAIF.NetCore.NtlmApiAuth`; its only in-repo consumers are unbuilt or `netcoreapp3.1` samples, so the Reference Type above reflects the producing-library classification rather than an observed in-repo consumer.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [Service registration](service-registration.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Sources
- `src/SAIF.NetCore.NtlmApiAuth/src/SAIF.NetCore.NtlmApiAuth/SAIF.NetCore.NtlmApiAuth.csproj`
- `src/SAIF.NetCore.NtlmApiAuth/src/SAIF.NetCore.NtlmApiAuth/Services/NtmlApiAuthorizationService.cs`
- `src/SAIF.NetCore.AuthService/SAIF.NetCore.AuthService/SAIF.NetCore.AuthService/Clients/SecurityClient.cs`
- `Architecture.md`
