Я интегрировал AspNetIdentity в IdentityServer4 для управления пользователями.Ранее я использовал Auth0, и в моем веб-приложении была страница администратора для изменения заявок пользователей, которая, в свою очередь, вызывала API управления для Auth0 для изменения значений заявок пользователей.
С IdentityServer4, поскольку я интегрировал Identity для управления пользователямиЯ не совсем уверен, как это сделать.Конечно, я могу использовать UserManager для изменения пользователей, но как я могу создать авторизованный API для этого?Первоначально я попытался создать ресурс API в IdentityServer4 вместе с клиентом для учетных данных клиента, установить авторизацию jwtbearer для проекта Identityserver4 (с указанием полномочий / аудитории на созданный мной ресурс API) и добавить атрибут авторизации на контроллере API (где яизвлеките пользователей Identity) на уровне IDP.
Это не работает, поскольку промежуточное ПО IdentityServer4 больше не работает, если я добавляю свою собственную авторизацию.Должен ли я в конечном итоге создать отдельный API, для которого настроен Identity, чтобы я мог получить доступ к базовым таблицам?У меня нет проблем с этим, но я хотел проверить, возможно ли что-то прямо на уровне IDP.
Не работает:
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddGoogle("Google", options =>
{
options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
options.ClientId = "...";
options.ClientSecret = "...";
})
.AddFacebook("Facebook", options =>
{
options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
options.ClientId = "...";
options.ClientSecret = "...";
})
.AddJwtBearer(options =>
{
options.Authority = "https://localhost:44367";
options.Audience = "idpapi";
options.RequireHttpsMetadata = true;
});
По сути, яЯ хочу, чтобы очень простой контроллер API возвращал пользовательские данные и обновлял заявки пользователей.Мне нужно, чтобы этот контроллер API был доступен только для конкретного пользователя с ролью администратора.Если бы я мог сделать это на уровне IDP (поскольку я уже настроил Identity), это было бы идеально, но у меня возникают проблемы с добавлением аутентификации для моего контроллера API IDP.Если нет, я могу создать отдельный проект API для его обработки.