iPhone SDK / Подключение Facebook: Используя пользовательское диалоговое окно входа в систему

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

5
задан slf 8 April 2010 в 13:31
поделиться

4 ответа

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

3
ответ дан 14 December 2019 в 08:47
поделиться

Да и нет.

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

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

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

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

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

2
ответ дан 14 December 2019 в 08:47
поделиться

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

2
ответ дан 14 December 2019 в 08:47
поделиться

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

0
ответ дан 14 December 2019 в 08:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: