Как будет работать 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 

И возвращенный токен будет иметь более длительный срок действия (это может быть тот же токен с более длинным сроком действия или новый токен, вы должны обрабатывать оба случая)

Другие вопросы по тегам