Поддержка JWT авторизации

166
06 января 2019, 13:30

Делаю Web приложение, которое должно пускать в некоторые свои части пользователя через клиент-приложение. Решил использовать для этого JWT.

Вроде как сделал авторизацию, получение AccessToken и RefreshToken, но вот одного не пойму, допустим мы делаем следующее:

  1. Отправляем логин и пароль пользователя на сервер => сервер выдает нам пару токенов.
  2. Сохраняем все это дело где то в укромное место клиента (кстати, где оно у WPF?).
  3. При использование API - отправляем заголовком наш AccessToken.
  4. Как только AccessToken "протухает" - используем RefreshToken => сервер выдает нам снова временный AccessToken.
  5. Работаем дальше.
  6. Как только опять "протухает" - используем логин и пароль.

Так вот, как я почитал, везде говорят:

RefreshToken - имеет большое время жизни, и является одноразовым

Собственно и получается, что на этапе 4, мы этот RefreshToken удаляем из базы и больше его не принимаем. Значит при следующем "протухание" AccessToken нам надо отправлять заново логин и пароль и делать все по новой.

Исходя из этого мы получаем то, что клиент вечно будет разлогиниваться и просить доп данные (к примеру 2FA).

Собственно как быть? Как оставить клиент залогининым и не просить пользователя вечно вводить данные для своего аккаунта (2FA)?

Я вижу только 2 варианта:

  1. Не использовать 2FA, либо как то переделать авторизацию, что бы 2FA просился только раз на устройстве.
  2. Использовать долгий RefreshToken и делать его не одноразовым, но это минус безопасности....
READ ALSO
Как отозвать JWT токен?

Как отозвать JWT токен?

Есть Web приложение с использованием JWT токенаСайт отдает Access и Refresh токены

485
Как прокрутить HScrollBar в Panel (роликом мыши)

Как прокрутить HScrollBar в Panel (роликом мыши)

Подскажите, как прокрутить HScrollBar в Panel таким образом, чтобы при наведении мыши в Panel активировался HScrollBar и ролик мыши мог им управлять?

184
Как прокрутить Panel через AutoScroll широким шагом?

Как прокрутить Panel через AutoScroll широким шагом?

Подскажите как прокрутить Panel (роликом мыши) через AutoScroll широким шагом, чтобы ширина Panel делилась на две частиК примеру ширина Panel до сужения...

190
DataSet и SQL-запросы

DataSet и SQL-запросы

Если какие-то средства, которые позволяют писать запрос(Например, всякие JOIN'ы) к ADONET DataSet и получить в результате какую-нибудь вьюху?

206