Facebook SDK iOS Войти - PullRequest
       7

Facebook SDK iOS Войти

0 голосов
/ 30 марта 2011

Используя Facebook SDK для iOS, как определить, вошел ли пользователь в систему, чтобы приложение не проходило процесс входа в систему?

В настоящее время в процессе входа в систему я сохраняю токен доступа и дату истечения срока действия по умолчанию для пользователя, а затем зачитываю их обратно, когда инициализирую объект facebook в начале выполнения моего приложения.

Но что произойдет, если пользователь оставляет фон приложения, заходит в Safari, меняет учетную запись Facebook или подписывает, а затем возвращается в мое собственное приложение.Разве приложение Facebook не должно возвращать, что сохраненный сеанс больше не действителен?Как бы я это выяснил?В настоящее время мой объект Facebook подтверждает, что сеанс действителен, но, к сожалению, когда я пытаюсь что-то опубликовать, я ничего не вижу на соответствующей странице Facebook.

Я что-то здесь упускаю?Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 25 ноября 2013

Что касается входа в Facebook на iPhone (SDK v3.0 +), он занимает первое место на системном уровне, второе - родное приложение iOS для Facebook и третье - на мобильном Safari Facebook.Но если пользователь вошел в ваше приложение с помощью мобильного сафари, подключил фоновое приложение, вошел в другую учетную запись Facebook с помощью мобильного сафари, а затем вернулся в свое приложение, токен доступа и сеанс в вашем приложении будут действовать до тех пор, пока вы не выйдете из iOSприложение.Обычно вы выходите из системы с помощью этой строки:

[FBSession.activeSession closeAndClearTokenInformation];

Вход в систему инициируется некоторыми изменениями этой строки:

[FBSession openActiveSessionWithReadPermissions:

Если вы используете Facebook iOS SDK 3.2+, вы можете позвонитьЧтобы узнать, открыт ли аутентифицированный сеанс Facebook, выполните следующие действия:

[[FBSession activeSession] isOpen]

Кроме того, вам не нужно локально сохранять маркер доступа или дату истечения срока действия.Вы можете получить к ним доступ с помощью следующих вызовов:

[FBSession activeSession].accessTokenData.accessToken
[FBSession activeSession].accessTokenData.expirationDate

Вот ссылка на некоторые соответствующие документы Facebook для iOS:

Вход в Facebook - iOS SDK

0 голосов
/ 21 апреля 2011

Вы делаете правильно, сохраняя и восстанавливая маркер доступа к Facebook и дату истечения срока действия.Любой API FB, для которого требуется действительный токен, завершится с ошибкой, если вы вызовете его с токеном с истекшим сроком действия.Обработайте ошибку и выйдите из FB локально, затем попросите вашего пользователя снова войти в систему.

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