Skip to content

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 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 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.

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