Выбор ответа Junior Офлайн и хранение спрашивают часто обновлено

Где хранить токены в RN

Вопрос

Где правильно хранить refresh-токен пользователя в React Native-приложении?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: В Keychain и Keystore через expo-secure-store или react-native-keychain. Защищённые хранилища ОС шифруют данные и привязывают их к устройству.

Варианты ответа

  1. В AsyncStorage: его файл доступен только этому приложению, этого достаточно
  2. В переменной окружения EXPO_PUBLIC_TOKEN, которую задаёт сборка
  3. В Keychain и Keystore через expo-secure-store или react-native-keychainправильный ответ
  4. Только в состоянии Redux, без сохранения на диск, чтобы его нельзя было прочитать

Разбор

Защищённые хранилища ОС шифруют данные и привязывают их к устройству. AsyncStorage хранит данные без шифрования в песочнице, их можно прочитать на рутованном устройстве или из резервной копии. EXPO_PUBLIC_* встраивается в бандл при сборке и одинаков для всех пользователей. Redux без сохранения потеряет токен при перезапуске.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.