Многие современные приложения 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. Но, для начала, разберемся с основными определениями