Facebook авторизация каждые 2 часа! как показать только один раз? - PullRequest
1 голос
/ 04 июля 2011

Привет, у меня следующая проблема. Я реализовал новейший SDK facebook с руководством, которое они предоставляют. Поэтому я сохраняю дату истечения срока действия и токен в пользовательских ошибках. Но каждые 2 часа я должен снова авторизовать свое приложение. Facebook всегда приводит меня на сайт, на котором написано:

" Вы уже авторизовали APP_NAME. Нажмите" Okay ", чтобы продолжить. "

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

Я обнаружил, что если я запрашиваю offline_access токен никогда не истекает, НО я не хочу создавать у пользователя впечатление, что мое приложение публикует его на своей стене без его ведома.

Описание offline_access:

Позволяет вашему приложению выполнять авторизованные запросы от имени пользователя на любом время. По умолчанию большинство токенов доступа истекает через короткий промежуток времени гарантировать, что приложения только делают запросы от имени пользователя, когда активно используя приложение. это разрешение делает токен доступа возвращено нашей конечной точкой OAuth долгоживущий.

Есть ли другой способ не показывать пользователю этот диалог авторизации каждые 2 часа?

РЕДАКТИРОВАТЬ: Я также нашел это:

Когда вы перенаправляете пользователя в диалог авторизации, у пользователя не запрашиваются разрешения если пользователь уже авторизовал ваше приложение. Facebook вернет вам действительный> доступ токен без какого-либо пользовательского диалога. Однако, если пользователь де-авторизовал ваш Пользователь должен будет повторно авторизовать ваше приложение, чтобы вы могли получить access_token.

но в моем случае я всегда получаю вышеупомянутый экран, почему это так?

1 Ответ

2 голосов
/ 05 июля 2011

Я обнаружил, что если я спрашиваю о offline_access, токен никогда не истекает, НО я не хочу создавать у пользователя впечатление, что мое приложение публикует его на своей стене без его ведома.

Это правда, что это токен с плохим именем, и описание в копии диалога аутентификации страшно. Если вы думаете об этом, то нет никаких причин, по которым вы не могли бы программно выполнить какое-либо авторизованное действие без физического запуска его пользователем. Тот факт, что двухчасовой таймаут просто ограничивает ваше окно, вот и все.

На вашем месте я бы использовал offline_access, а затем предоставлял бы пользователю некоторую копию, объясняющую ваше взаимодействие с Facebook, и давал некоторые обещания о том, как вы будете и не будете взаимодействовать с Facebook от их имени.

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