Как будет работать offline_access после устаревания после 1 мая?
Я провел некоторый тест, полученный результат противоречит документации Facebook. https://developers.facebook.com/roadmap/offline-access-removal/
Если мы включим "Отказаться от автономного доступа:" и запросим offline_access на мобильном клиенте, мы автоматически получим токен, действительный в течение 60 дней, без обновления SDK. Похоже, что Facebook облегчил работу с клиентами, обновление не требуется. Это то, что сказано в Facebook. "Приложения, мигрирующие к этой функции, больше не будут запрашивать offline_access. Им будут выданы маркеры доступа с длительным сроком действия, срок действия которых истечет, если пользователь некоторое время не использовал приложение". Как долго это "время" не задокументировано.
Если я обновлю SDK, метод extendingToken не сработает, потому что токен действителен в течение 60 дней. Если мы заставим расширять токен, мы получим следующую ошибку от Facebook, которая я понятия не имею, что это значит.
Error Domain=facebookErrDomain Code=10 "The operation couldn’t be completed. (facebookErrDomain error 10.)" UserInfo=0x1404bb70 {request_args=(
{
key = method;
value = "auth.extendSSOAccessToken";
},
{
key = sdk;
value = ios;
},
{
key = "sdk_version";
value = 2;
},
{
key = "access_token";
value = AAACiLiBjLHABAOo3NZCSSLlRddFZCQUsky0q9sogtzHIFGpNNoeYUqtt2X2QUvxMg8AwsQqSLP3oe0cxUoLIXwVZC3xDGuBC3QOvFgELwZDZD;
},
{
key = format;
value = json;
}
), error_code=10, error_msg=The access token was not obtained using single sign-on}
Если мы не запрашиваем "offline_access", токен истекает через 2 часа.
Каково ваше наблюдение? Есть мысли? Любое понимание от Facebook?
1 ответ
Раздел, помеченный "Если вы НЕ запрашивали ранее offline_access" в этом документе, объясняет, как обменять этот двухчасовой токен на 60-дневный токен: (обратите внимание, что в будущем значения 2 часа и 60 дней могут измениться)
https://developers.facebook.com/roadmap/offline-access-removal/
Просто доступ
https://graph.facebook.com/oauth/access_token?
client_id=APP_ID&
client_secret=APP_SECRET&
grant_type=fb_exchange_token&
fb_exchange_token=EXISTING_ACCESS_TOKEN
И возвращенный токен будет иметь более длительный срок действия (это может быть тот же токен с более длинным сроком действия или новый токен, вы должны обрабатывать оба случая)