Хранение токена пользователя в Android

Добрый день, в настоящее время я создаю систему входа для приложения Android (оно подключается к серверу и извлекает веб-токен), и у меня есть несколько вопросов по этому поводу:

  • Каков предпочтительный способ локального хранения такого токена в Android?
  • Есть ли библиотека, которая позволяет мне зашифровать ее и безопасно хранить в SharedPrefs без необходимости отдельно хранить ключ и соль для шифрования?
  • Безопасно ли отправлять токен из LoginActivity в AnotherActivity внутри Intent Extra?

Кроме того, дополнительный вопрос будет заключаться в том, безопасно ли отправлять комбинацию электронной почты и пароля из LoginActivity в LoginViewModel и, наконец, в DataSource (EndpointInterface и т. д.), передавая их в качестве параметров методам таких классов.

Заранее спасибо!


person Gianfranco Gasbarri    schedule 20.02.2018    source источник


Ответы (3)


  1. общие настройки довольно безопасны, доступ к ним может получить только ваше приложение или пользователь root.
  2. не уверен насчет библиотеки, но вы можете использовать несколько простых методов ndk для шифрования/дешифрования данных. это даст вам дополнительные очки безопасности
  3. Это безопасно, если вы используете явные намерения

P.S. если ваше приложение является клиентом банка, вам не следует следовать этому ответу

person Max    schedule 20.02.2018

SharedPreferences лучше всего подходит для локального хранения данных. Когда ваше приложение существует в системе, данные будут представлены, и вы сможете легко получить к ним доступ во всем приложении.

SharedPreferences mPreferences = context.getSharedPreferences(PREF_NAME,PRIVATE_MODE); mSharedEditor = mPreferences.edit(); для сохранения токена

mSharedEditor.putString("FCM_TOKEN",fcmToken);
    mSharedEditor.commit();

**чтобы получить токен **

mPreferences.getString("FCM_TOKEN",null)
person Pawan kumar sharma    schedule 20.02.2018

Используйте менеджер аккаунта для этого случая.

https://developer.android.com/reference/android/accounts/AccountManager.html

Вы даже можете поделиться своим менеджером учетных записей между приложениями, если они подписаны одним и тем же сертификатом хранилища ключей.

person hepizoj    schedule 20.02.2018