Authlink.Policy.Client.Http
1.0.3
dotnet add package Authlink.Policy.Client.Http --version 1.0.3
NuGet\Install-Package Authlink.Policy.Client.Http -Version 1.0.3
<PackageReference Include="Authlink.Policy.Client.Http" Version="1.0.3" />
<PackageVersion Include="Authlink.Policy.Client.Http" Version="1.0.3" />
<PackageReference Include="Authlink.Policy.Client.Http" />
paket add Authlink.Policy.Client.Http --version 1.0.3
#r "nuget: Authlink.Policy.Client.Http, 1.0.3"
#:package Authlink.Policy.Client.Http@1.0.3
#addin nuget:?package=Authlink.Policy.Client.Http&version=1.0.3
#tool nuget:?package=Authlink.Policy.Client.Http&version=1.0.3
📦 Package Overview
Authlink.Policy.Client.Http
provides a concrete HTTP implementation of the IPolicyClient
abstraction from Authlink.Policy.Client.Core, enabling seamless integration with Authlink’s Policy Decision Point (PDP) over REST. It leverages System.Net.Http
and HttpClientFactory
to deliver a resilient, configurable client for decision requests.
It is intended to be consumed alongside:
Authlink.Policy.Client.Core
Optionally paired with:
Authlink.Policy.Client.AspNetCore
🚀 Install
dotnet add package Authlink.Policy.Client.Http
Or via Package Manager:
PM> Install-Package Authlink.Policy.Client.Http
🔧 Purpose
This package delivers:
- A
PolicyHttpClient
that implementsIPolicyClient
over HTTP - Transparent JSON (de)serialization of
DecisionRequest
/DecisionResponse
- Configurable endpoint, timeout, and default client‐ID via
PolicyHttpClientOptions
- Fail‐closed behavior on HTTP errors (non-200 ⇒ Deny)
- Easy registration with
IServiceCollection
⚙️ Usage
1. Register in Startup
or Program
builder.Services.AddPolicyHttpClient(options =>
{
options.BaseUrl = "https://authlink.co.za";
options.ClientId = new Guid("11111111-2222-3333-4444-555555555555");
});
2. Inject and call
public class InvoiceService
{
private readonly IPolicyClient _policy;
public InvoiceService(IPolicyClient policyClient)
{
_policy = policyClient;
}
public async Task<bool> CanCreateInvoiceAsync(Guid userId)
{
var request = new DecisionRequest
{
UserId = userId,
PermissionKey = "invoice:create",
ResourceKey = "INVOICE"
};
var response = await _policy.DecideAsync(request);
return response.Decision == Decision.Allow;
}
}
📚 Documentation
Coming soon at: https://docs.authlink.co.za
📄 License
MIT
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. 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. |
-
net9.0
- Authlink.Policy.Client.Core (>= 1.0.3)
- Microsoft.Extensions.DependencyInjection (>= 9.0.4)
- Microsoft.Extensions.Http (>= 9.0.4)
- Microsoft.Extensions.Options (>= 9.0.4)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Authlink.Policy.Client.Http:
Package | Downloads |
---|---|
Authlink.Policy.Client.ServiceStack
Adds seamless Authlink PDP enforcement to ServiceStack services via a RequiresPermission attribute and plugin, leveraging the HTTP client for fail-closed policy decisions. |
GitHub repositories
This package is not used by any popular GitHub repositories.