Автоматизация повторной авторизации Facebook для нескольких пользователей на одном устройстве - PullRequest
2 голосов
/ 08 февраля 2012

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

A. Пользователи уже зарегистрировались, и их токены FB хранятся на устройстве

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

C. Ни один пользователь не вошел в наше приложение в данный момент

D. Неясно, какой пользователь вошел в приложение Facebook в настоящее время

С этими допущениями у нас есть два вопроса:

  1. Как сопоставить правильный сохраненный токен с человеком, который в данный момент подключен к Facebook на устройстве?

  2. Как пропустить приглашение «Вы уже авторизованы ...», для которого требуется «все в порядке», прежде чем вернуться в приложение?

Примеры кода очень приветствуются.

1 Ответ

0 голосов
/ 14 мая 2012

Так что, если я правильно понял, вы просто хотите получить мульти-фейсбук-пользователя на вашем одном устройстве и возможность переключаться между ними без повторной аутентификации?

Вот шаги, которые, я думаю, вы могли бы выполнить, чтобы сделать это:

  1. Пользователь входит в систему
  2. Храните свое имя_профиля + идентификатор пользователя в Facebook + имя_доступа + в постоянном хранилище, вы можете просто сохранить его в NSUserDefaults, но есть способыиспользуйте более безопасное хранилище цепочки для ключей для access_token здесь
  3. Установите этот набор пары ключ / значение как «активный»
  4. Когда пользователь выходит из системы, приложение фактически не подписываетпользователь вышел из Facebook, но просто очистите активную пару ключ / значение
  5. Представьте пользователей, которые вошли в систему, прочитав значения, которые вы сохранили (имена + изображение профиля)
  6. Нажатие пользователем на одинпрофиль, установите его как активный или аутентифицируйте новый профиль и повторите шаг

Важное примечание: Вы должны быть очень осторожны, потому что традиционно это быломожно получить токен доступа без срока действия с разрешением offline_access.Но , начиная с июля 2012 года , это устарело, и токен истечет .Поэтому вам нужно расширять токен каждый раз, когда выбирается профиль пользователя

...