navigationView.ItemBackground = new ColorDrawable(Android.Graphics.Color.Green);
Это может помочь.
Есть несколько причин, чтобы сделать недействительным токен JWT до истечения срока его действия: учетная запись удалена / заблокирована / приостановлена, изменен пароль, изменены права доступа, пользователь вышел из системы администратором. Итак, ваш вопрос по теме
Существует несколько методов применения или объединения в зависимости от вашего варианта использования
1) Удалить токен клиента из локального хранилища
2 ) Token blacklist: хранить токены, которые были между выходом и amp; время истечения срока действия, срок действия истек и проверить его в каждом запросе. Используйте уникальный идентификатор jti
или включите последнюю дату входа и выданную в iat
для удаления старых токенов
Это необходимо для хранения сервера. Если вы не ожидаете, что слишком много токенов отменят, вы также можете использовать черный список в памяти. Вам нужно только установить запись после обновления важных данных для пользователя и currentTime - maxExpiryTime < lastLoginDate (iat)
. Запись может быть отброшена, если currentTime - maxExpiryTime > lastModified
(не больше не просроченных токенов). В этом случае не требуется хранить весь токен. Только sub
, iat
и, возможно, jti
3) Время истечения кратковременно и повернуть их. Выпустите новый токен доступа каждые несколько запросов. Используйте токены обновления , чтобы ваше приложение могло получать новые токены доступа, не требуя повторной аутентификации и объединения с sliding-sessions
сеансы - это сеансы, срок действия которых истекает после периода бездействия . Когда пользователь выполняет действие, выдается новый токен доступа. Если пользователь использует токен с истекшим доступом, сеанс считается неактивным и требуется новый токен доступа. Этот новый токен может быть получен с помощью токена обновления или требует учетных данных
Взгляните на Недействительный JSON Web Лексемы
Я сделал домашнюю работу и, похоже, лучший подход к реализации отзыва заключается в использовании jti (id on Jtw) и черного списка отозванного идентификатора (который будет очищен, когда токен истёк). Это сделает JTW stateful только для части черного списка.
Черные списки - нарушение JWT без гражданства. Существует много схем аутентификации, которые вы можете использовать. JWT основан на апатриде, поэтому его следует использовать таким образом. С другой стороны, это очень распространенная схема аутентификации, и если вам нужно ее реализовать, и если вы хотите, чтобы ваше приложение (API) было действительно безопасным, необходимо настроить некоторые настройки.
Я лично использую эти два метода в своих проектах (отдельные или комбинированные, в зависимости от потребностей в производительности):