Хранение JWT на устройстве, чтобы пользователь вошел в систему - PullRequest
0 голосов
/ 16 октября 2019

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

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

1 Ответ

1 голос
/ 16 октября 2019

Я не думаю, что это хорошая идея, чтобы иметь постоянный сеанс входа в систему в чем-то столь же чувствительном, как банковское приложение, но если вы настаиваете:

Используйте API аттестации SafetyNet для проверки, еслиустройство, на котором вы запускаете приложение, имеет root-права и, если оно есть, не позволяет пользователю взаимодействовать. Как только вы это сделаете, просто используйте SharedPreferences с Mode.PRIVATE, и никто не сможет прочитать эти данные вне вашего приложения.

...