SAIF.Framework.Security.EnvironmentApi overview¶
Documentation context: Packaged Component (NuGet)
SAIF.Framework.Security.EnvironmentApi is the Environment API client layer of the SAIF Security framework. It resolves runtime environment/configuration context for consuming applications through a central Environment API HTTP service, and provides AD-group-based machine/service-account authorization together with a thin WCF client to the centralized SecurityService endpoint.
Purpose¶
- Resolve runtime environment context (host, track, deployment tier, client type) and retrieve configuration settings from a central Environment API HTTP service via
IEnvironmentServiceand its host-specific implementations. - Provide AD-group-based machine/service-account authorization (
MachineSecurityService/ADService), including developer-machine detection. - Provide a thin WCF client (
SecurityServiceClient) to the centralizedSecurityServiceendpoint as an alternative to the local/direct AD authorization path. - Support secure configuration retrieval through salted system-hash generation and validation (
SystemHashUtil).
Responsibilities¶
- Cache configuration settings in memory and refresh them on a throttled interval (
AllowRefreshCheckInSeconds, default 120s). - Surface host-specific environment details (application host, machine name, client-external/inside-firewall status, local-machine status, current principal) for five distinct hosting contexts: web, Windows/console, WCF, custom, and Office Add-in.
- Authorize machine/service accounts against AD groups, distinguishing production vs. non-production resource-name conventions.
- Enforce that a required OS environment variable (
EnvironmentApiUrl) is present before any environment-dependent operation executes.
Key components¶
IEnvironmentService: primary contract for environment/config/user-context access.EnvironmentServiceBase: abstract base class implementingIEnvironmentService, performing HTTP calls, caching, and hosting the developer-machine authorization logic.WebEnvironmentService,WindowsEnvironmentService,WcfEnvironmentService,CustomEnvironmentService,OfficeAddinEnvironmentService: host-specific concrete implementations ofEnvironmentServiceBase.MachineSecurityService/ADService: local AD group-membership authorization primitive for machine/service accounts.SecurityServiceClient: thin WCF client wrapper to the centralizedSecurityServiceendpoint.SystemHashUtil: salted system-hash generation/validation supporting secure configuration retrieval.
Related documentation¶
- Index
- Architecture
- Dependencies
- Operations and processes
- Business rules
- Configuration
- Security and authorization
- API reference
Sources¶
- SAIF.Framework.Security.EnvironmentApi\SAIF.BOF.Framework.Security.EnvironmentApi.csproj
- SAIF.Framework.Security.EnvironmentApi\Core\Services\IEnvironmentService.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\EnvironmentServiceBase.cs