Как безопасно реализовать функцию входа в приложение Android? - PullRequest
4 голосов
/ 15 августа 2010

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

Я хочу реализовать клиент Android для веб-сайта.Мои вопросы:

  1. Как безопасно войти?с HTTPS?
  2. Как безопасно хранить информацию о входе в систему в телефоне, чтобы в следующий раз выполнить вход без ввода.
  3. Если пользователь выполняет какие-либо действия после входа, как идентифицировать себя?как сохранить сеанс?Скопировать и повторно отправить некоторые файлы cookie, такие как «jsessionid»?

1 Ответ

0 голосов
/ 19 августа 2012
  1. HTTPS, очевидно, является наилучшим выбором, поскольку имя пользователя и пароль будут зашифрованы между устройством и сервером (т. Е. Если пользователь использует Wi-Fi в аэропорту, его учетные данные не могут быть "прослушаны")
  2. Вы можете сохранить пароль на устройстве в SharedPreferences, используя PreferenceManager.getDefaultSharedPreferences(), и автоматически получить доступ к нему позже в своем коде. Вы можете предоставить пользователю возможность удалить пароль. На некорневых устройствах никакое другое приложение или устройство не может получить доступ к частному хранилищу вашего приложения, поэтому данные в безопасности. На корневых устройствах это доступно, но безопасность - это один из недостатков рутирования
  3. Это действительно зависит от сервера. Большинство веб-сайтов используют файлы cookie phpsessionid или jsessionid. В этом случае см. Android Http get Session Cookie и Как сделать http-запрос с использованием файлов cookie на Android?

OAuth, конечно, предпочтительнее, потому что это препятствует тому, чтобы фактическое приложение сохраняло / имело доступ к серверу напрямую (вместо этого это в основном долгосрочный файл cookie)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...