Я видел здесь много вопросов относительно API Graph Graph, но я все еще не нашел решения для простых операций входа/выхода из системы. Похоже, что стиль Single Sign-On вызывает больше путаницы, чем преимущества.
Я хотел бы знать, возможно ли следующее:
- Введите в приложение (нет
accessToken
/expirationDate
). - Выполните логин, используя SSO, вызвав метод
authorize:delegate:
(приложение переходит в фоновый режим, и логин сделан в "глобальной" области (приложение Facebook/Mobile Safari), запрашивая учетные данные пользователя. - Введите обратно в приложение (теперь он входит в систему, оба
accessToken
иexpirationDate
сохраняются вNSUserDefaults
). - Выполните выход из системы, вызвав метод
logout:
(теперь выйдите из системы, какaccessToken
, так иexpirationDate
удалены изNSUserDefaults
) - Попытка выполнить логин снова, с теми же шагами, выполненными в 2.
Я понимаю, что когда я звоню logout:
, я действительно выхожу из Facebook (accessToken
недействителен) из области приложения, а не из области global
(приложение для Android App/Mobile Safari). В 5.), когда я пытаюсь снова войти в систему, приложение переходит в фоновый режим, и попытка входа в систему снова выполняется в приложении Facebook App/Mobile Safari, однако я получаю экран, в котором говорится, что я 'm уже вошел в систему:
Вы уже разрешили
...
. Нажмите "ОК", чтобы продолжить. Войдите в систему как...
(не вы?).
Это странное поведение для пользователя, который только что вышел из моего приложения. Мой вопрос:
"Могу ли я действительно выйти из facebook (я имею в виду" глобальную "область) из моего приложения? Это повлияет на другие приложения, используя учетные данные в facebook. Однако, если я не могу сделайте это, как я могу избежать описанного выше" странного поведения"?
Спасибо