2014-02-12 4 views
1

Я создаю простое приложение для Android, оно требует некоторых деталей для сохранения и получения из веб-службы, закодированной в php. Я планировал создать PHP-скрипт, например, www.mycoolservice.com/domagic.php. Приложение Android запросит у скрипта некоторые данные через HTTP POST, и скрипт отправит данные с использованием json-кодирования.Аутентификация пользователей между Android и PHP Webservice

Мой вопрос о проверке подлинности и безопасности

Что является лучшим способом для аутентификации пользователя с сервером, я должен отправить имя пользователя и пароль с каждым HTTP POST (зашифрованном)?

Также, если есть большое количество пользователей, использующих один и тот же сценарий за раз, будут ли возникать проблемы параллелизма и эффективности?

Я просто начинающий веб-сервисы, пожалуйста, направляйте меня.

ответ

1

Часто у вас есть аутентификация api, которая дает токен ограниченного времени в качестве возвращаемого значения. Затем вы устанавливаете этот токен в заголовке других вызовов на бэкэнд.

POST вызов www.mycoolservice.com/authenticate.php с JSON

{ 
    "u": <user>, 
    "p": <password 
} 

реагирует с

{ 
    "t": <token> 
} 

звонков на ваш www.mycoolservice.com/domagic.php с заголовком «Знак : "

+0

Можете ли вы привести пример аутентификации api? – techno

+0

Так что, если злоумышленник получает этот токен, не может злоумышленник отправить фиктивные запросы. Этот токен зашифрован? – techno

+0

Ну да, но это также верно для комбинации пользователей и паролей. У токена есть прекрасная возможность быть ограниченным временем и отзываться. Если вы беспокоитесь о том, что вам нужно использовать учетные данные, используйте https и настоящий SSL-сертификат для хоста. – mach

1

Чтобы добавить на mach, который был быстрее меня:

Недавно я прочитал эту многосекционного учебник о REST PHP Application:

Part 1 и Part 2 (Последний один еще не существует)

Я думаю, хороший способ, чтобы генерировать API/Authentication- Ключ для каждого пользователя. С первой аутентификацией вы отправляете ее обратно, и каждое сообщение будет включать ключ.
Вы должны использовать HTTP POST для любого сообщения.

+0

Спасибо Nice Tutorial.But REST необходимо для простой аутентификации. Кажется, что-то сложное – techno

+0

Это не нужно. Это просто показать вам, как можно использовать ключ аутентификации. Вы должны попробовать и перенести это в свой PHP-Webservice. –

+0

Что такое следующий учебник http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/ Я хочу добавить возможность аутентифицировать пользователей, то есть: идентифицировать пользователя. Должен ли я использовать REST с ним или есть какой-то простой способ: – techno

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