Как организовать аутентификацию на устройстве?

Fairy спросил: 31 июля 2018 в 09:43 в: android

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

  1. Какой период времени должен иметь токен?
  2. Как сохранить токен на мобильном устройстве (SQLite, файл, зашифрованный или нет ...)
  3. Когда токен истекает, пользователь должен будет снова аутентифицироваться, но это не раздражает поведение. Мы могли бы сделать бесшумную аутентификацию, но для этого нам нужно сохранить пароль пользователя на устройстве, что не так.

Может кто-нибудь мне помочь, пожалуйста?


1 ответ

Jordan ответил: 31 июля 2018 в 10:14
1. Какой период времени токен должен быть действительным?

Это зависит от ожидаемого использования вашего приложения. Вы сможете решить это, как только узнаете, сколько раз пользователь будет открывать приложение каждый день, а также сколько времени ему / ей понадобится во время одного сеанса / взаимодействия с приложением. Предположим, вы разрабатываете приложение для социальных сетей, в котором пользователь будет открывать / закрывать приложение несколько раз в день. Для такого приложения время жизни токена должно быть больше.

2. Как хранить токен на мобильном устройстве (SQLite, файл; зашифрован или нет ...)

Достаточно простого использования общих настроек, но обязательно обновляйте токен всякий раз, когда его значение обновляется на сервере. сторона. 3. Когда токен истекает, пользователю придется снова аутентифицироваться, но это не раздражает. Мы могли бы выполнять тихую аутентификацию, но для этого нам нужно было бы хранить пароль пользователя на устройстве, что неверно.

Вы также можете выполнить тихую аутентификацию без сохранения имени пользователя и пароля на мобильной стороне. Просто обновите токен при вызове API с токеном с истекшим сроком действия.