Вам просто нужно ограничить контроллеры с помощью политик.
в вашем startup.cs ConfigureService()
добавьте следующее расширение
services.AddAuthorization(options =>
{
//policy1
options.AddPolicy("api1Policy", builder =>
{
builder.RequireClaim("scope", "api1");
});
//policy2
options.AddPolicy("api2Policy", builder =>
{
builder.RequireClaim("scope", "api2");
});
});
Для более сложных проверок политик вы можете использовать builder.RequireAssertion();
В ваших контроллерах добавьте аннотацию, подобную этой.
[Authorize(Policy = "api2Policy")]
public class MsgController: Controller
{
//Users with api2 scope will be allowed in here. Likewise, do the same for others.
}
Для получения дополнительных сведений о ссылке Ссылка1 Ссылка2