FB автоматически генерирует новый токен после истечения срока действия? - PullRequest
0 голосов
/ 28 апреля 2018

Я хочу использовать Facebook SDK для входа пользователя в мое приложение, а на странице FaceBook API написано

Мобильные приложения, использующие SDK Facebook для iOS и Android, получают долгоживущие токены по умолчанию ... Долгоживущие токены обычно имеют срок службы около 60 дней

Допустим, пользователь входит в мое приложение через Facebook, затем я создаю уникальный идентификатор для этого пользователя и сохраняю его в Userdefaults. Если пользователь нажимает кнопку «Выйти», я удаляю этот уникальный идентификатор из UserDefaults и выхожу из него из Facebook SDK.

Мой вопрос здесь состоит в том, что если пользователь выйдет из моего приложения без выхода из системы, а затем вернется через 61 день. Будет ли Facebook автоматически генерировать новый токен для этого пользователя? и, конечно, пользовательский статус все еще входит в мое приложение, потому что уникальный идентификатор не был удален. Большое спасибо!

1 Ответ

0 голосов
/ 28 апреля 2018

Согласно Документация Facebook SDK

Когда вы используете iOS, Android или наш JavaScript SDK, SDK будет обрабатывать обновления токенов до истечения срока их действия в течение этого 90-дневного периода. Нативные мобильные приложения, использующие SDK Facebook, получают токены доступа с длительным сроком действия, которые могут работать около 60 дней. Эти токены будут обновляться один раз в день, на срок до 90 дней, когда человек, использующий ваше приложение, отправляет запрос на серверы Facebook. Если не будет сделано никаких запросов, срок действия токена истечет примерно через 60 дней, и человек должен будет снова пройти процедуру входа в систему, чтобы получить новый токен.

Так что да, в вашем случае пользователь должен снова пройти через вход в систему.

Вы можете использовать статус входа в систему api для проверки токена при каждом входе пользователя в приложение.

AccessToken accessToken = AccessToken.getCurrentAccessToken();
boolean isLoggedIn = accessToken == null;
boolean isExpired = accessToken.isExpired();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...