Срок действия токена доступа facebook


Как узнать, в какое время истекает срок действия маркера доступа в php?

2 2

2 ответа:

Токен, который вы получаете изначально от Facebook в signed_request, истекает через 2 часа или 7200000 миллисекунд или 7200 секунд. Если вы продлите токен с нижеприведенным запросом, вы получите новое время истечения срока действия 5184000 секунд в ответе, который преобразуется в 60 дней. Что я обычно делаю, так это сохраняю это время в миллисекундах, добавленных к текущему времени Unix в миллисекундах с момента начала эпохи, и постоянно сверяюсь с этим временем, когда это необходимо.

Расширение токен :

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 

В качестве примера я бы попросил, чтобы источники информации на стороне клиента и сделали следующую проверку..

if (response.user.sources.FACEBOOK.expires > new Date().getTime() ) {
    //do something
}

Не уверен, почему вы хотите попытаться определить это? Срок действия маркера доступа может истечь, если пользователь в любое время деавторизирует ваше приложение или изменяет пароль.

Прочтите это Facebook - как: ручки, просроченные токены доступа

Кроме того, я считаю, что facebook ведет к тому, что все приложения получают 60-дневные токены. Я могу ошибаться, но если вы включаете устаревшие маркеры автономного доступа, ваш ap должен получить 60-дневный маркер. этот токен возвращается в течение 60 дней, если ваш пользователь повторно твой АП.