Аутентификация по токену
Исходя из примененных надстроек к процедуре аутентификации по токену, возникла необходимость в создании надстроек над существубщей процедурой авторизации пользователя по токену, которая должна учитывать текущую сессию пользователя в базе данных. Для этого был создан специальный фильтр авторизации, проверяющий валидность сессии, хранящейся в базе данных. Исходный код фильтра представлен… Читать ещё >
Аутентификация по токену (реферат, курсовая, диплом, контрольная)
Авторизация на основе токенов состоит из нескольких компонентов:
клиент, который обращается к веб-сервису. Может представлять собой веб-браузер, мобильное приложение, десктопное приложение;
веб-сервис, к ресурсу которого обращается клиент;
токен доступа (access token), наличие которого дает доступ к ресурсам веб-сервиса;
Bearer-токен — специальный вид токена доступа;
сервер авторизации, который выдает токены доступа клиенту.
Весь процесс аутентификации выглядит следующим образом, представленным на рисунке 2.3.
Рисунок 2.3 — Схема процесса аутентификации по токену Пользователь вводит данные авторизации (логин, пароль) и нажимает на кнопку отправки;
клиент (веб-браузер) отправляет данные серверу авторизации;
сервер авторизации аутентифицирует пользователя и возвращает токен доступа;
для доступа к ресурсу веб-сервиса клиент добавляет в запрос ранее полученный токен доступа.
Хотя выше сервер авторизации и веб-сервис, но в реальности они могут быть объединены, как это и происходит в приложении Web API (рисунок 2.4).
[Введите текст].
Рисунок 2.4 — Объединение сервера авторизации и веб-сервиса Отличием технологии OAuth 2.0 является то, что, поскольку она не относится к разряду аутентификационных протоколов, в ней не существует такого понятия, как выход из системы. Все можно сделать для отключения доступа пользователя — это удалить токен доступа на стороне клиента. В связи с этим реализация аутентификации пользователя для дальнейшего использования ресурсов API требует доработки. Доработка заключается во вводе понятия сессии и создания сессионного хранилища, что обеспечивает возможность управления токенами в плане присвоения такового пользователю, а также принудительного выхода из системы по требованию пользователя.
Настройки аутентификации по токену имеют следующие параметры:
срок действия токена — 14 дней с момента аутентификаци;
режим аутентификации — пассивный.
Проектирование таблицы в базе данных Identity.
Для обеспечения хранения информации о «сессиях» в базе данных Identity спроектируем дополнительную таблицу UserSession. Схема базы данных в части обеспечения хранения сессии пользователя представлена на рисунке 2.3.
Рисунок 2.3 — Схема базы данных в части обеспечения хранения сессии пользователя.
Реализация аутентификации по токену
Реализация аутентификации по cookie включает следующие два метода:
POST api/account/token — вход в систему;
DELETE api/account/token — выход из системы.
Блок-схемы алгоритмов аутентификации и выхода из учетной записи представлены на рисунках 2.5 и 2.6.
Рисунок 2.5 — Блок-схема алгоритма аутентификации пользователя по токену.
Рисунок 2.6 — Блок-схема алгоритма аутентификации пользователя по токену Исходные коды методов представлены в приложении 2.
Исходя из примененных надстроек к процедуре аутентификации по токену, возникла необходимость в создании надстроек над существубщей процедурой авторизации пользователя по токену, которая должна учитывать текущую сессию пользователя в базе данных. Для этого был создан специальный фильтр авторизации, проверяющий валидность сессии, хранящейся в базе данных. Исходный код фильтра представлен в приложении 3.