. NET CORE Swagger - Различные режимы аутентификации - PullRequest
0 голосов
/ 10 марта 2020

В настоящее время я реализую сложный веб-сайт, который содержит:

  1. Пользовательский интерфейс и, следовательно, некоторые конечные точки API для AJAX Требуются запросы. Этот пользовательский интерфейс аутентифицирован и авторизован. NET CORE Identity. Поэтому используется аутентификация cook ie.
  2. API, который может использоваться внешними программными продуктами для вставки или получения информации из базы данных сайта. Поэтому BASI C -AUTH используется с именем пользователя + паролем

Мои контроллеры снабжены следующими комментариями:

  1. . NET CORE Authorization

    [Авторизация (Roles = "SuperUser, PlantAdministrator, EndUser")]

  2. Основы 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
...