Использование JWT для реализации аутентификации на веб-API Asp.net

Я читал о JWT.

Но из того, что я прочитал, это не механизм аутентификации, а скорее важный компонент в механизме аутентификации.

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

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

Итак, шаг 1:

app => Сервер: Логин (пользователь, пароль)Сервер => приложение: Войти в систему, вот ваш JWTapp => server: получить мой профиль (отправляет JWT с запросом). Затем сервер расшифровывает JWT и определяет идентификацию запросов.

Теперь это только мое понимание этого, Послушай, я могу быть на совершенно неверном пути.

Является ли Идеал JWT таким образом, что вам не нужно проходить аутентификацию при каждом запросе? Я просто аутентифицирую учетные данные пользователей один раз (при первоначальном входе в систему) и там после того, как сервер может просто использовать JWT, и нет необходимости искать пользователей pw и user в БД?

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

Так к чему сводится мой вопрос.

Как я могу безопасно и эффективно внедрить механизм аутентификации с использованием JWT? Я не хочу просто кашлять что-то, что, кажется, работает и не имеет никакого представления о последствиях для безопасности. Я уверен, что существует источник, который, возможно, разработал безопасный механизм, который бы соответствовал моим требованиям.

Мои требования:

Нужно только проверять базу данных для учетных данных пользователей один раз за сеанс? Из-за использования bcrypt используется много ресурсов для сравнения паролей.Должен быть в состоянии идентифицировать пользователя по их запросу. (Т.е. кто они, userId будет достаточно) и желательно без доступа к БД.Должно быть как можно меньше накладных расходов в отношении ресурсов на стороне сервера, обрабатывающих запрос.Если злоумышленник должен был скопировать предыдущий запрос устройства, он не должен иметь доступ к данным реальных пользователей. (Очевидно)

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос