2013-08-28 1 views
2

Итак, у меня есть это веб-приложение ASP.NET MVC 4, которое ведет себя как веб-сервис. Клиент отправляет запрос, веб-служба возвращает объект JSON. Теперь я до такой степени, что должен аутентифицировать своих пользователей из приложения для Android. Каков правильный способ сделать это на стороне клиента, так как у меня больше нет веб-браузера для хранения файлов cookie для проверки подлинности с сервером. SSL уже позаботился.

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

В порядке ли я сохраняю учетные данные пользователя (имя пользователя и пароль) в базе данных SQLite на телефоне Android, на котором установлено приложение, и затем отправлять эти учетные данные вместе с каждым запросом на сервер для аутентификации? (Я думаю, хеширование пароля, прежде чем хранить его в базе данных, конечно).

Этот подход небезопасен? Как другие приложения обычно аутентифицируются с помощью своих сервисов: например, eBay, Facebook и т. Д.?Правильный способ аутентификации с помощью веб-службы с Android

+0

Вы также должны использовать SSL – Christoph

+1

Да, конечно. Об этом уже позаботились. – AxiomaticNexus

ответ

2

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

  • SQLite базы данных (если не сделал worldreadable)
  • SharedPreferences

Если вы хотите более тесную интеграцию с менеджером счета (например, иметь счет, указанный в настройках устройства), вы можете написать AccountAuthenticator. См. Creating a Custom Account Type или Write your own Android Authenticator. Не уверен насчет eBay и Facebook, но это, к примеру, Firefox Sync и Evernote.

1

Вы можете использовать OAuth 2 - многие учебники и реализации доступны.

 Смежные вопросы

  • Нет связанных вопросов^_^