iamalik Ответов: 1

Аутентификация на основе токенов в MVC


Я хочу реализовать аутентификацию на основе токенов в приложении. Я хочу спросить, где я могу сохранить токен на сервере, чтобы каждый запрос мог быть сопоставлен с действительным токеном. Я также хочу знать, как я могу реализовать проверку токенов, чтобы каждый запрос к серверу мог быть сначала проверен, а затем сервер выполнил необходимое действие.

Заранее спасибо.

Что я уже пробовал:

Когда пользователь входит в приложение, генерируется токен и отправляется клиенту. Затем клиент включает токен в заголовок каждого запроса.

1 Ответов

Рейтинг:
1

NaibedyaKar

В основном вам нужно создать токены на сервере, и вы можете сохранить их внутри базы данных, сопоставив с идентификатором пользователя. Каждый токен должен иметь срок службы, и он также должен храниться внутри таблицы.

Токен должен быть передан клиенту, возможно, после аутентификации. На стороне клиента вы можете хранить эти токены в хранилище сеансов или локальном хранилище. Вы также можете использовать файлы cookie, но я предлагаю вам использовать хранилище сеансов, чтобы оно могло работать на любых устройствах.

При отправке любого запроса на сервер вы должны включить токен в заголовок и сопоставить токен и время жизни на сервере. У вас может быть логика, чтобы увеличить время жизни токена или сохранить его фиксированным в соответствии с вашими потребностями..

Вы можете использовать для этого аутентификацию OWin.
Проверьте и этот пост Проверка подлинности на основе маркеров с помощью Web ASP.NET API-интерфейс 2, OWIN, и личность - разрядной технологии[^]


iamalik

Спасибо Наибедьякару за ваш ответ. Является ли хорошей практикой сохранение токена в базе данных на стороне сервера? Поскольку токен будет проверяться для каждого запроса, это приведет к перегрузке базы данных, не так ли?