Add migration to update ApiClients with centralized authorization scopes
This migration updates the ScopesJson for the ApiClient with Id 91000000-0000-0000-0000-000000000001 to include additional authorization scopes for improved API access control. The Down method reverts the changes if necessary.
This commit is contained in:
16
Program.cs
16
Program.cs
@@ -2,6 +2,7 @@
|
||||
using Microsoft.AspNetCore.Authentication.Negotiate;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using Microsoft.SelfService.Portal.Core.API.Authorization;
|
||||
using Microsoft.SelfService.Portal.Core.API.Context;
|
||||
using Microsoft.SelfService.Portal.Core.API.Interfaces;
|
||||
using Microsoft.SelfService.Portal.Core.API.Repository;
|
||||
@@ -109,20 +110,7 @@ builder.Services.AddAuthentication(options =>
|
||||
|
||||
builder.Services.AddHttpContextAccessor();
|
||||
|
||||
builder.Services.AddAuthorization(options =>
|
||||
{
|
||||
// By default, all incoming requests will be authorized according to the default policy.
|
||||
options.FallbackPolicy = options.DefaultPolicy;
|
||||
options.AddPolicy("QueueProcess", policy => policy.RequireClaim("scope", "queue.process"));
|
||||
options.AddPolicy("DeploymentRead", policy => policy.RequireClaim("scope", "deployment.read"));
|
||||
options.AddPolicy("CredentialResolve", policy => policy.RequireClaim("scope", "credential.resolve"));
|
||||
options.AddPolicy("TokenManage", policy => policy.RequireAssertion(context =>
|
||||
context.User.HasClaim("scope", "token.manage")
|
||||
|| context.User.Identity?.AuthenticationType == NegotiateDefaults.AuthenticationScheme));
|
||||
options.AddPolicy("TokenAdmin", policy => policy.RequireAssertion(context =>
|
||||
context.User.HasClaim("scope", "token.admin")
|
||||
|| context.User.Identity?.AuthenticationType == NegotiateDefaults.AuthenticationScheme));
|
||||
});
|
||||
builder.Services.AddSelfServicePortalAuthorization();
|
||||
|
||||
var app = builder.Build();
|
||||
var frontendDistPath = Path.GetFullPath(Path.Combine(
|
||||
|
||||
Reference in New Issue
Block a user