В настоящее время я реализую сложный веб-сайт, который содержит:
- Пользовательский интерфейс и, следовательно, некоторые конечные точки API для AJAX Требуются запросы. Этот пользовательский интерфейс аутентифицирован и авторизован. NET CORE Identity. Поэтому используется аутентификация cook ie.
- API, который может использоваться внешними программными продуктами для вставки или получения информации из базы данных сайта. Поэтому BASI C -AUTH используется с именем пользователя + паролем
Мои контроллеры снабжены следующими комментариями:
. NET CORE Authorization
[Авторизация (Roles = "SuperUser, PlantAdministrator, EndUser")]
Основы API c Аутентификация
[Authorize (ActiveAuthenticationSchemes = "BasicAuth")]
Теперь я настроил Swagger для использования Basi c -Аутентификация при запуске:
services.AddSwaggerGen(
options =>
{
options.AddSecurityDefinition("basic", new BasicAuthScheme
{
Type = "basic",
Description = "basic authentication for API"
});
options.AddSecurityRequirement(new Dictionary<string, IEnumerable<string>>
{
{ "basic", new string[] { } }
}
);
});
Мои вопросы:
- Как я мог настроить Swagger для использования различных режимов аутентификации
- Есть ли способ изменить пользовательский интерфейс для пользовательского интерфейса Swagger, что правильная аутентификация отображается для каждой конечной точки API? В настоящее время каждая конечная точка выглядит как BASI C AUTH Endpoint