Разработка iPhone - как аутентифицировать пользователя через удаленный сервис? - PullRequest
1 голос
/ 14 ноября 2011

Я разрабатываю приложение для iPhone и веб-сайт одновременно.Я планирую создать API для веб-сайта, чтобы приложение могло отправлять URL-запросы для достижения цели.Например, они отправляют запрос на номер www.example.com/journal/add/1, и он добавляет элемент с идентификатором 1 в свой журнал.

Что я не знаю, так это как мне аутентифицировать их с помощью приложения iPhone?Я хотел бы, чтобы они вошли в систему только один раз и сохранили свою «сессию».Должен ли я просто сохранить имя пользователя / пароль в plist, а затем проверять их подлинность каждый раз, когда они делают запрос (поэтому мне придется отправлять хэш их имени пользователя и пароля через каждый запрос, например, www.example.com/journal/add/1/user/hash? Кажется хакерским.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2011

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

поэтому сначала выполните обычную авторизацию с помощью вашего php-скрипта (вам нужно будет использовать базу данных), если она прошла успешно, верните sessionid в клиент iphone. Клиент iphone хранит его локально. затем в следующий раз пользователь запускает приложение, которое вы проверяете, существует ли sessionid: если да, вы отправляете его на свой сервер для аутентификации. Сервер проверяет, есть ли идентификатор сеанса в базе данных - если ДА, он возвращает клиенту успешный результат и обновляет идентификатор сеанса в базе данных (помните, что для идентификаторов сеансов может быть помечена метка времени, поэтому пользователю придется повторно регистрироваться в случае длительного бездействия)

звучит сложно, но это не так плохо;)

0 голосов
/ 14 ноября 2011

Вы можете попробовать oauth или внедрить простую систему ключей, где вошедшие в систему пользователи получают ключ для выполнения последующих запросов, в любом случае вы можете обратиться к Facebook, Twitter, YouTube API, вы можете увидеть, как они это делаютполучить некоторые идеи оттуда (они все очень похожи), хотя они концентрируются на том, чтобы позволить внешним пользователям совершать звонки, но вы все равно можете сделать что-то подобное ...

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