Аутентификация токена JWT, токены с истекшим сроком действия все еще работают, .net core Web Api

Я создаю .net core web api.

Предисловие - я реализовал аутентификацию токена согласно https://stormpath.com/blog/token-authentication-asp-net-core и https://dev.to/ samueleresca / разработки-маркера аутентификации с использованием ASPnet-жильный . Я также прочитал несколько вопросов о github и здесь о SO.

Это также пригодилось https://goblincoding.com/2016/07/24/asp-net-core-policy-based-authorisation-using-json-web-tokens/ .

После реализации всего этого я чувствую, что что-то упустил.

Я создал простое приложение Angular, которое находится в веб-клиенте. Когда я аутентифицируюсь, клиент отправляет токен. Сейчас я сохраняю это в сеансе (все еще в dev, поэтому расскажу о проблемах безопасности вокруг того, где его хранить позже).

Не совсем уверен, что это ( JWT (JSON Web Token) автоматическое продление срока действия ) полезно, так как я не реализовал токены обновления, насколько я вижу.

Я заметил, что когда я вызываю выход из системы, а затем снова захожу, клиенту отправляется новый токен - как и ожидалось. Однако, если время истечения токена истекло (я установил его на 1 минуту для тестирования), а затем страница обновилась, токен, похоже, остался прежним в моем приложении. т.е.. это как если бы токен никогда не истекает?!

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

Разве это не так, как это должно работать? Есть ли какая-то магия автообновления, происходящая в фоновом режиме, которая используется по умолчанию (я явно не настроил понятия токенов обновления в руководствах) ? Или я что-то упускаю из концепции аутентификации токена?

Также - , если это постоянно обновляющий токен, следует ли мне беспокоиться о безопасности, если токен когда-либо был скомпрометирован?

Спасибо за вашу помощь

9
задан Community 23 May 2017 в 12:17
поделиться