iPhone SDK / Facebook Connect: использование настраиваемого диалогового окна входа - PullRequest
5 голосов
/ 21 марта 2010

Именно то, что говорит название.Можно ли использовать Facebook Connect (или любое другое средство интеграции FB) в родном приложении для iPhone, не прибегая к встроенному диалоговому окну входа в систему (что выглядит ужасно)?Что-то, где я мог бы создать свой собственный экран входа в систему, запрашивая имя пользователя и пароль для входа в Facebook, а затем используя собственные методы fbconnect для проверки этой информации и получения действительного сеанса?

Ответы [ 4 ]

3 голосов
/ 20 июля 2010

Не делай этого. Это противоречит политике, и ваше приложение будет закрыто за это. Как и предложил quixoto, это потому, что мы не хотим обучать пользователей вводить их пароли в случайных местах, а также потому, что пользователь не подтвердил действие согласно нашим требованиям UX. В настоящее время мы работаем над изменением дизайна этих диалогов, чтобы сделать их красивее.

2 голосов
/ 08 апреля 2010

Да и нет.

Facebook использует делегированную аутентификацию для подключения вашего приложения к нему. Следовательно, пользователь должен поместить свой пароль во что-то «доверенное» (например, на страницу входа в Facebook), чтобы ваше приложение на самом деле его не видело, а в результате получало только ключ. Идея заключается в том, что пользователи обучены не доверять другим веб-страницам / приложениям свой пароль.

Таким образом, FB предоставляет это веб-всплывающее окно в своей библиотеке FBConnect, не имея другого явного способа превращения учетных данных пользователя в сеанс.

Сказал, и я отвечу на ваш технический вопрос, так как это законный вопрос; Вы могли бы делать то, что хотели, создав закадровый UIWebView, разместив любой URL-адрес для входа в FB в этом веб-представлении, и вставив Javascript на страницу, используя stringByEvaluatingJavaScriptFromString:. Этот Javascript может взять имя пользователя / пароль, заполнить форму и отправить ее, даже не увидев пользователя. Прочитайте код библиотеки FBConnect, чтобы понять, какой URL использовать и что делать с результатом отправки страницы - вы можете подключить его обратно в библиотеку.

Это (1) хрупко, так как вам придется полагаться на идентификаторы и вещи, которые могут / будут меняться, чтобы победить только такие методы, и (2), вероятно, нарушает условия использования для FB Connect и, конечно, (3) ) не очень хорош для здоровья аутентификации в сети в целом, поскольку это не подтверждает, что пользователи не должны доверять третьим лицам свои пароли.

И, безусловно, само собой разумеется, что если вы идете в одиночку и даете пользователям более привлекательный вид аутентификации, никогда не сохраняйте и не делайте что-либо со своими учетными данными, кроме предоставления их в Facebook.

2 голосов
/ 21 марта 2010

Когда я заглянул в Facebook Connect, они казались довольно строгими по своему API и любым модам, которые вы могли бы захотеть сделать. На Facebook.com/x не упоминается ни разу о настройке интерфейса, поэтому я думаю, что вы должны придерживаться того, что они одобрили.

0 голосов
/ 02 апреля 2010

Что было бы замечательно, если бы диалог входа в систему действительно выполнял базовая проверка формы , по крайней мере. Вы можете отправить форму без заполнения адреса электронной почты или пароля. Дрянная, дрянная, пользовательский интерфейс работает.

...