Итак, у меня есть это веб-приложение ASP.NET MVC 4, которое ведет себя как веб-сервис. Клиент отправляет запрос, веб-служба возвращает объект JSON. Теперь я до такой степени, что должен аутентифицировать своих пользователей из приложения для Android. Каков правильный способ сделать это на стороне клиента, так как у меня больше нет веб-браузера для хранения файлов cookie для проверки подлинности с сервером. SSL уже позаботился.
Я думал о нескольких прямых способах аутентификации, но я обеспокоен наличием некоторой уязвимости в отношении безопасности, о которой я, возможно, и не подозревал.
В порядке ли я сохраняю учетные данные пользователя (имя пользователя и пароль) в базе данных SQLite на телефоне Android, на котором установлено приложение, и затем отправлять эти учетные данные вместе с каждым запросом на сервер для аутентификации? (Я думаю, хеширование пароля, прежде чем хранить его в базе данных, конечно).
Этот подход небезопасен? Как другие приложения обычно аутентифицируются с помощью своих сервисов: например, eBay, Facebook и т. Д.?Правильный способ аутентификации с помощью веб-службы с Android
2
A
ответ
2
Данные, хранящиеся в частном хранилище, являются относительно безопасными (по крайней мере, на некоем корневом устройстве). Они включают в себя:
- SQLite базы данных (если не сделал worldreadable)
- SharedPreferences
Если вы хотите более тесную интеграцию с менеджером счета (например, иметь счет, указанный в настройках устройства), вы можете написать AccountAuthenticator. См. Creating a Custom Account Type или Write your own Android Authenticator. Не уверен насчет eBay и Facebook, но это, к примеру, Firefox Sync и Evernote.
1
Вы можете использовать OAuth 2 - многие учебники и реализации доступны.
Вы также должны использовать SSL – Christoph
Да, конечно. Об этом уже позаботились. – AxiomaticNexus