IdentityServer4 - защита действий WebAPI - PullRequest
0 голосов
/ 23 марта 2020

Я успешно интегрировал мой. net Базовый WebAPI с IdentityServer4, где клиент может запросить токен и отправить обратно через auth. заголовок при вызове контроллера и возможность успешной авторизации. Тем не менее, у меня есть вопрос о штрафной авторизации.

При вставке нового ApiResource я также добавляю области действия (например, app.api1.read, app.api2.read, et c ..) и клиент имеет доступ к областям (app.api1.read и app.api2.read). Когда клиент вызывает app.api1, он может передать области app.ap1.read или app.api2.read, и оба будут успешно авторизованы. В идеале я хотел бы, чтобы клиент передавал область действия для api1 (например, app.api1.read), и если он передает область действия для api2, он не должен быть авторизован.

Startup.cs

    services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
                .AddIdentityServerAuthentication(options =>
                {
                    // base-address of your identityserver
                    options.Authority = "https://localhost:44393";
                    options.RequireHttpsMetadata = false;
                });

TestController.cs

[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
[Route("api/[controller]")]
[ApiController]
public class TestController : Controller
{

Ваша помощь очень ценится.

...