В этой статье мы узнаем, как настроить базовую аутентификацию для нашего API с помощью swagger в ASP.NET 5.0. Как мы все знаем, его недавно запущенный Framework официально выпущен в ноябре. Здесь я делюсь ссылкой для установки SDK для .Net 5
Репозиторий GitHub
Пакеты, используемые в этом проекте!
- Swashbuckle.AspNetCore (последняя версия)
Вышеупомянутый пакет устанавливается по умолчанию, если вы используете ASP.NET Core 5.0.
Шаг 1
Создайте проект в Visual Studio и обязательно выполните тот же процесс, что и на изображении, показанном ниже.
Шаг 2
Добавьте папку служб, в которую мы можем добавить бизнес-логику.
На данный момент я жестко запрограммировал имя пользователя и пароль в самом коде, если у вас есть база данных со всеми учетными данными, которые вы можете проверить с помощью этой таблицы.
UserService.cs
Я добавил интерфейс для внедрения зависимостей на уровне контроллера.
IUserService.cs
Шаг 3
Добавьте код обработчика аутентификации для обработки базовой аутентификации.
BasicAuthenticationHandler.cs
После добавления кода AuthenticationHandler мы можем использовать атрибут авторизации в качестве заголовка для каждого метода в контроллере, чтобы иметь эту базовую настройку аутентификации. Я не добавлял никаких других контроллеров, поскольку я повторно использовал тот же контроллер.
WeatherForecastController.cs
Шаг 4
Я установил эту базовую аутентификацию в swagger, поэтому мы добавили конфигурацию этого swagger в файл startup.cs.
Startup.cs
Шаг 5
Запустите приложение, и по умолчанию URL-адрес swagger будет открыт с портом по умолчанию. На изображении ниже активирована кнопка авторизации, и все API не авторизованы до тех пор, пока ваша авторизация не будет успешной.
Нажмите кнопку Авторизовать. Передайте имя пользователя и пароль для доступа к API.
Ответ от API
Если вы хотите уточнить у почтальона, ниже представлен процесс доступа к API через авторизацию.
В этой статье мы узнали, как настроить базовую аутентификацию для API через Swagger и Run и протестировать ее с помощью Postman. Если вы хотите клонировать проект
Надеюсь, эта статья вам поможет !!!
Продолжай учиться…..!