Странное поведение при использовании базовой системы аутентификации do tnet с использованием токенов JWT - PullRequest
0 голосов
/ 18 февраля 2020

Я некоторое время тестировал свою систему аутентификации Web API и наткнулся на что-то действительно странное.

Я следую этим шагам:

1 - я регистрирую пользователя и система предоставляет токен JWT

2 - я пытаюсь вызвать действия API с токеном, и все работает как положено

3 - Теперь я удаляю свою базу данных и перестраиваю ее заново с помощью команды Add-Migration

4 - в моей базе данных нет пользователей, но если я вызываю действие API с использованием предыдущего сгенерированного токена (из пункта 1), он принимается как правильно авторизованный. Помните, моя база данных чистая. Нет пользователей, нет токенов и т. Д. c. зарегистрирован.

Кто-нибудь может догадаться, что здесь происходит?

1 Ответ

0 голосов
/ 18 февраля 2020

Владелец токена имеет доступ к вашему API, пока токен не истек. Это поведение по умолчанию реализации токена JWT. Вам не нужно проверять базу данных на пользователя и его привилегии. Все внутри токена. Так что это похоже на кеш . Но если вы хотите немедленно изменить права пользователя и параметры доступа, у вас есть 3 способа:

  • Сокращение времени жизни токена;
  • Запись промежуточного программного обеспечения и проверка пользователя в базе данных при выполнение анализа данных токена;
  • выход пользователя из портала для принудительной регистрации нового пользователя с новым токеном;

В большинстве случаев бизнес-правила допускают некоторую задержку для пользователей при обновлении доступа или заставляют их повторно войти в систему.

...