Многие современные приложения Web API, использующие для аутентификации пользователя JWT-токены, во-первых, ограничивают время жизни токена, а, во-вторых, позволяют пользователю обновить токен без повторного ввода учётных данных. На данный момент наше приложение обладает только одной из этих функций – мы ограничиваем время жизни токена, однако не даем пользователю возможности обновить его.
ASP.NET Core Web API
Авторизация пользователей с использованием политик
Политика авторизации — это набор критериев, включая роли, которым должен соответствовать пользователь, чтобы получить доступ к ресурсу.
Авторизация пользователей по ролям
На данный момент у нас в проекте имеется контроллер для работы с учётными записями пользователей и их аутентификации, а также контроллер WeatherForecastController, который создается по умолчанию в шаблонном проекте ASP.NET Core Web API. Допустим, мы хотим позволить получать данные о прогнозе погоду только авторизованным пользователям. В ASP.NET Core сделать это достаточно просто, используя специальный атрибут [Authorize].
Аутентификации пользователя на основе JWT-токена
Одним из наиболее популярных способов аутентификации пользователей в приложениях Web API является использование JWT-токенов.
ASP.NET Core Identity
В подавляющем большинстве случаев, для доступа пользователей приложения Web API к ресурсам используются механизмы аутентификации и авторизации пользователей. В этой главе мы разберемся с механизмом аутентификации и авторизации пользователей в приложении ASP.NET Core Web API. Но, для начала, разберемся с основными определениями
Валидация модели. Свойство контроллера ModelState
В этой части мы рассмотрим вопросы валидации модели, касающиеся непосредственно ASP.NET Core.
Валидация модели. Атрибуты валидации
Валидация модели, то есть её проверка на допустимость значений, содержащихся в ней – это, строго говоря, механизм самой платформы .NET. Однако, в ASP.NET Core этот механизм расширен и дополнен. Поэтому, не лишним будет затронуть и вопросы связанные с валидацией модели в этой части.
Использование параметров запроса для привязки модели. Фильтрация результатов (передача массивов)
Фильтрация данных, наряду с постраничным выводом результатов, позволяет ускорить работу приложения. Однако, прежде чем мы перейдем к реализации фильтрации в нашем приложении, стоит рассмотреть вопрос: чем отличается фильтрация от поиска?
Использование параметров запроса для привязки модели. Постраничный вывод результатов
В предыдущей части были рассмотрены общие моменты, касающиеся передачи данных в контроллеры через параметры запросов. Однако, как говорят, теория без практики мертва, практика без теории слепа. В этой части и далее мы рассмотрим несколько практических примеров использования параметров запросов в приложениях Web API и начнем с одного из важнейших вопросов — постраничного вывода результатов.
Модели Web API. Привязка модели в контроллерах API
Модель — это набор классов, представляющих данные, которыми управляет приложение. В этой части мы познакомимся с тем, как устроена работа с моделями в ASP.NET Core – как приложение ASP.NET Core производит анализ запроса от клиента API, как можно передавать различные данные в контроллер и производить валидацию модели.