2010-03-09 3 views
4

Когда я реализую OAuth в iPhone, у меня есть дилемма, чтобы выбрать Safari или UIWebView, чтобы открыть страницы Twitter для аутентификации пользователей? Я пишу некоторые преимущества и недостатки обоих случаев: Использование UIWebWeb. Недостатком является то, что пользователи должны вводить свои учетные данные в нашем приложении. Это может быть рискованное фишинг. Преимущество такого подхода не будет прекращено в нашем приложении.OAuth на iPhone: используя Safari или UIWebView?

Использование Safari для аутентификации пользователя (этот подход автоматически вызывает обратные вызовы в нашем приложении). Addvantage: менее рискованно. Недостатки: придется бросить наше приложение

Хорошая ссылка ссылку об этом: http://fireeagle.yahoo.net/developer/documentation/oauth_best_practice

Какой подход вы предпочитаете? Любой ответ оценен. Благодарю.

ответ

3

Огромное, подавляющее большинство пользователей не понимают и не заботятся о различии. Делайте все, что делает их жизнь проще, или - при прочих равных условиях - ваша жизнь проще. И до тех пор, пока вы заслуживаете доверия (вы не фишинг или подглядывание по их учетным данным, верно?), Вы будете обеспечивать хороший опыт и не навинчивать их. В этом случае я бы использовал UIWebView.

+0

Мы не являемся фишинг-серверами, но проблема в том, что наше приложение не очень хорошо известно. Пользователи готовы предоставить свои полномочия нам? fireeagle говорит: «Пользователь будет ориентироваться auth самым безопасным способом. » – KONG

+4

Пользователи предоставят вам свои данные, даже если ваше имя« SirScamAlot », если вы обещаете доставить Twitter, которого они жаждут. –

3

Парень, который пару лет назад сделал приложение Pownce для iPhone, публично обсуждал с ним это.

Его блог, похоже, больше не работает, но в основном он реализовал его как «правильный», насколько это касается OAuth. Вместо того, чтобы вводить учетные данные внутри приложения, Safari был запущен, и они были введены там, а затем пользовательский URL-адрес iPhone использовался в качестве обратного вызова для повторного запуска приложения Pownce. Довольно аккуратный, а?

Спустя некоторое время разработчик следил за комментарием, что многие пользователи загружали приложение, но фактически не использовали его. Его вывод? Это виновата его блестящая схема OAuth. Пользователи были смущены запуском Safari и выведены из приложения.

Будьте честными, хотя? Я считаю, что виноват тот факт, что приложение предназначалось для Pownce, службы, которую никто не использовал.

У меня есть приложение в магазине приложений прямо сейчас, в котором используется API Foursquare, который поддерживает как Basic HTTP auth, так и OAuth. Я решил «поступить правильно» и использовать OAuth. Пользователь вводит свои учетные данные прямо внутри моего приложения. Я сохраняю их имя пользователя и пароль в любом месте? Неа. Но мог ли я быть? Конечно.

Может показаться, что я спорю для обеих сторон здесь, но на самом деле все это сводится к тому, что маловероятно, что ваши пользователи будут знать или даже заботиться о том, что такое OAuth. Вероятно, так же маловероятно, что они даже подумают дважды о том, чтобы добавить свои учетные данные в ваше приложение. OAuth отлично (чертовски много лучше, чем OpenID), но не был разработан с учетом iPhone. Он создан для работы внутри веб-браузера. Я думаю, что документы Foursquare API docs лучше всего говорят о своей схеме OAuth для мобильных устройств/Desktop (отличной от того, что они хотят сделать для веб-приложения) - «Мы предоставляем этот механизм в предположении, что если пользователь установил ваше приложение на их аппаратном обеспечении они доверяют ему достаточно, чтобы передать свою информацию об аутентификации в foursquare."

+0

Привет, bpapa. Спасибо за ваш ответ. Таким образом, вы реализуете OAuth, используя UIWebView, правильно? – KONG

0

По состоянию 31 мая 2017 и далее, там не осталась Мы MUST использования Safari варианта. , так как google теперь не поддерживает OAuth через UIWebView. Обратитесь к this link для получения более подробной информации.

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