adding ApiKey Policies...

This commit is contained in:
2026-10-06 21:30:39 +03:30
parent a6613ee81a
commit 6ee4302650
2 changed files with 72 additions and 0 deletions
+65
View File
@@ -5,6 +5,7 @@ using xCommons.Authorization;
using System.Collections.Generic;
using Microsoft.AspNetCore.Authorization;
using static xIdentityHelper.XApiScopeHelper;
using xIdentityModels.Constants;
namespace xIdentityHelper
{
@@ -598,6 +599,70 @@ namespace xIdentityHelper
.Build()
);
#endregion
//
// Apik Key Policies ...
#region ApiKey Policies ...
//
// Claims Requirements ...
//
// ApiKey Access Policy ...
result.Add(XPolicies.ApiKeyAccess,
new AuthorizationPolicyBuilder()
.RequireClaim(
JwtClaimTypes.Scope,
XApiKeyScope.Read.GetStringValue(),
XApiKeyScope.Write.GetStringValue(),
XApiKeyScope.Manage.GetStringValue()
)
.Build()
);
//
// ApiKey Read Policy ...
result.Add(XPolicies.ApiKeyAccess,
new AuthorizationPolicyBuilder()
.RequireClaim(
JwtClaimTypes.Scope,
XApiKeyScope.Read.GetStringValue()
)
.Build()
);
//
// ApiKey Write Policy ...
result.Add(XPolicies.ApiKeyAccess,
new AuthorizationPolicyBuilder()
.RequireClaim(
JwtClaimTypes.Scope,
XApiKeyScope.Write.GetStringValue()
)
.Build()
);
//
// ApiKey Manage Policy ...
result.Add(XPolicies.ApiKeyAccess,
new AuthorizationPolicyBuilder()
.RequireClaim(
JwtClaimTypes.Scope,
XApiKeyScope.Manage.GetStringValue()
)
.Build()
);
//
// ApiKey Admin Policy ...
result.Add(XPolicies.ApiKeyAccess,
new AuthorizationPolicyBuilder()
.RequireClaim(
JwtClaimTypes.Scope,
XApiKeyScope.Admin.GetStringValue()
)
.Build()
);
#endregion
#endregion
//
+7
View File
@@ -9,6 +9,13 @@ namespace xIdentityHelper
public const string AdminAccess = "adminScopePolicy";
public const string ManageAccess = "manageScopePolicy";
//
// Api Keys ...
public const string ApiKeyAccess = "apiKeyAccessPolicy";
public const string ApiKeyReadAccess = "apiKeyReadAccessPolicy";
public const string ApiKeyWriteAccess = "apiKeyWriteAccessPolicy";
public const string ApiKeyAdminAccess = "apiKeyAdminAccessPolicy";
public const string ApiKeyManageAccess = "apiKeyManageAccessPolicy";
//
// Admin ...
public const string Admin = "adminPolicy";
public const string EnabledAdmin = "enabledAdminPolicy";