IdentityFlow.Security.RateLimiting.DistributedCache
0.1.0-alpha.20260722083539
dotnet add package IdentityFlow.Security.RateLimiting.DistributedCache --version 0.1.0-alpha.20260722083539
NuGet\Install-Package IdentityFlow.Security.RateLimiting.DistributedCache -Version 0.1.0-alpha.20260722083539
<PackageReference Include="IdentityFlow.Security.RateLimiting.DistributedCache" Version="0.1.0-alpha.20260722083539" />
<PackageVersion Include="IdentityFlow.Security.RateLimiting.DistributedCache" Version="0.1.0-alpha.20260722083539" />
<PackageReference Include="IdentityFlow.Security.RateLimiting.DistributedCache" />
paket add IdentityFlow.Security.RateLimiting.DistributedCache --version 0.1.0-alpha.20260722083539
#r "nuget: IdentityFlow.Security.RateLimiting.DistributedCache, 0.1.0-alpha.20260722083539"
#:package IdentityFlow.Security.RateLimiting.DistributedCache@0.1.0-alpha.20260722083539
#addin nuget:?package=IdentityFlow.Security.RateLimiting.DistributedCache&version=0.1.0-alpha.20260722083539&prerelease
#tool nuget:?package=IdentityFlow.Security.RateLimiting.DistributedCache&version=0.1.0-alpha.20260722083539&prerelease
IdentityFlow.Security.RateLimiting.DistributedCache
Distributed-cache-backed IIdentityFlowRateLimiter implementation for hosts that need rate-limit counters shared outside a single process.
This package stores only hashed cache keys, not raw IdentityFlow partition keys. It works with any IDistributedCache provider, but generic distributed cache APIs do not expose atomic increment, compare-and-swap, or decrement semantics. Use this package for explicitly acknowledged, non-strict shared-cache deployments. Use the Redis-specific package when strict multi-node atomicity is required.
DistributedCacheIdentityFlowRateLimiter intentionally does not implement or register IIdentityFlowRateLimitFailureLeaseProvider. Its per-key lock serializes work only inside one process, so it cannot coordinate provisional attempts with committed failure capacity across nodes. Credential flows that require atomic failure-attempt leases must use a limiter with a backend-native atomic implementation, such as IdentityFlow.Security.RateLimiting.StackExchangeRedis.
builder.Services.AddStackExchangeRedisCache(options =>
{
options.Configuration = builder.Configuration.GetConnectionString("Redis");
});
builder.Services.AddIdentityFlowDistributedCacheRateLimiting(
options =>
{
options.Policies["password.sign_in"] = new(5, TimeSpan.FromMinutes(5));
},
distributedCache =>
{
distributedCache.AllowNonStrictDistributedEnforcement = true;
});
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- IdentityFlow.Security.RateLimiting (>= 0.1.0-alpha.20260722083539)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha.20260722083539 | 34 | 7/22/2026 |
| 0.1.0-alpha.20260722073217 | 45 | 7/22/2026 |
| 0.1.0-alpha.20260620175120 | 52 | 6/20/2026 |
| 0.1.0-alpha.20260620172859 | 54 | 6/20/2026 |
| 0.1.0-alpha.20260620170646 | 58 | 6/20/2026 |
| 0.1.0-alpha.20260620143000 | 59 | 6/20/2026 |
| 0.1.0-alpha.20260620135000 | 57 | 6/20/2026 |
| 0.1.0-alpha.20260620122408 | 59 | 6/20/2026 |
| 0.1.0-alpha.20260614215234 | 67 | 6/14/2026 |