Вход на сайт из приложения iphone - PullRequest
1 голос
/ 23 ноября 2011

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

После успешного входа в приложение iPhone пользователь хочет проверить веб-сайт в браузере, поэтому мне просто нужно добавитьфункциональность, которую пользователь может напрямую войти в свою учетную запись и перенаправить на определенную страницу.

У меня есть некоторая основная идея, которую мы можем сделать с зашифрованным именем пользователя и паролем с помощью URL.как http://xyz.com/login/username=abc&password=abc но я знаю, что это небезопасный способ передачи имени пользователя и пароля с помощью URL.

Поэтому, пожалуйста, предложите мне другой способ, если это возможно.

Любая идея или альтернатива, котораякак это реализовать.

Заранее спасибо.

Ответы [ 2 ]

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

Почему бы не передать идентификатор сеанса?

Вот что я имею в виду: когда вы входите на веб-сайт, обычно вам назначается (или уже есть) «файл cookie сеанса», который, по сути, сообщает серверу«Этот посетитель имеет идентификатор сеанса« XYZ »» и позволяет ему извлекать информацию со стороны сервера, сохраненную для этого пользователя (например, кто он, что он аутентифицировал или что-то еще, что вы храните в хранилище сеансов.

Один из самых простых способов перехода в / из приложений - убедиться, что все логины генерируют сеанс на стороне сервера, и предоставить сценарий, который перезапишет cookie сеанса пользователя и перенаправит их на соответствующую страницу.

session_restore.php? sessionId = 12345 & redirect = HOME

Сомневающиеся здесь будут утверждать, что предоставление такого скрипта является нарушением безопасности, но я бы сказал, что вся эта информация уже хранится на стороне клиента и может быть выполненав любом случае, без вмешательства сервера (плагины сессий для популярных веб-сайтов exist для firefox, который будет захватывать идентификаторы сеансов из беспроводных сетей - никаких технических навыков не требуется)

Делая так, вы просто делаете процесс более дружественным для пользователя, и если ваш сайт предоставляет доступ по SSH (что вам действительно следует делать)во всяком случае) тогда риск очень минимальный.

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

Есть несколько способов сделать это. Каждый раз, когда вы отправляете информацию о пароле через Интернет, вы хотите, чтобы он был зашифрован по SSL. Для этого потребуется SSL-сертификат для вашего веб-сервера, и это не всегда возможно.

Вы также можете зашифровать имя пользователя и пароль так, чтобы только ваш веб-сервер знал, как их расшифровать. Таким образом, имя пользователя "foo" может быть превращено в "oof", а пароль "bar" может быть превращено в "rab". Таким образом, если кто-то перехватит ваши запросы, он не сможет узнать, что такое имя пользователя и пароль, не зная, как вы их изменили.

...