Как вы получаете долгоживущие токены доступа из API Graph Facebook (аутентификация на стороне сервера)?
Поскольку Facebook удаляет разрешение offline_access, я хочу перенести наш веб-сайт для использования новой системы.
Я нашел этот документ на веб-сайте Facebook: https://developers.facebook.com/roadmap/offline-access-removal
Однако, когда я обрабатываю кого-то с серверной аутентификацией, я получаю этот ответ:
access_token => BLAHBLAHBLAHdontusemytokensilly
expires => 4992
Когда я пытаюсь использовать точку доступа (в этом документе) для расширения маркера доступа более чем на пару часов, я получаю следующее:
access_token => BLAHBLAHBLAHdontusemytokensilly
expires => 4990
Согласно этому документу, OAuth на стороне сервера должен получить токен, который длится 60 дней, я не понимаю, почему я не получаю его обратно.
Я действительно не хочу отправлять наших пользователей через перенаправление OAuth каждые 2 часа.
Есть идеи? Спасибо!
UPDATE
В соответствии с запросом, вот поток, который я принимаю (в браузере):
Сначала я перенаправил пользователя сюда:
Это перенаправляет пользователя сюда:
http://localhost/user-social/facebook/redirect?code=BLAHBLAHBLAHsomeawesomecode#_=_
Затем я запросил токен доступа так:
Я получаю это резюме от Facebook:
access_token=BLAHBLAHBLAHdontusemytokensilly&expires=4057
Это, безусловно, недолговечный жетон. Согласно документации Facebook (выше), я должен был получить долгоживущий токен (поскольку я использую OAuth на стороне сервера).
Однако, поскольку он недолговечный, я попытался обменять его на долгоживущий токен:
Вот что вернул Facebook:
access_token=BLAHBLAHBLAHdontusemytokensilly&expires=3967
Один и тот же access_token возвращается в обоих запросах.
UPDATE 2
Я положил вышеупомянутый токен доступа вОтладчик Facebook и вот что вернуло:
App ID:
BLAHBLAH
User ID:
211800900 : David Barratt
Issued:
Unknown
Expires:
1347303600 (in 40 minutes)
Valid: True
Origin: Web
Scopes: create_event create_note email friends_actions.music friends_actions.news friends_actions.video friends_likes friends_subscriptions manage_pages photo_upload publish_actions publish_stream rsvp_event share_item status_update user_about_me user_actions.music user_actions.news user_actions.video user_events user_interests user_likes user_location user_status user_subscriptions video_upload
UPDATE 3
После удаления всех моих разрешений и повторной авторизации приложения (как предложено @phwd). API Facebook возвращает это:
access_token=BLAHBLAHBLAHdontusemytokensilly
Означает ли это, что мне вернули долгоживущий access_token? если так, то где истечение?
UPDATE 4
Когда я запускаю вышеупомянутый access_token через отладчик Facebook, я получаю следующий результат:
App ID:
BLAHBLAH
User ID:
211800900 : David Barratt
Issued:
1347309538 (39 minutes ago)
Expires:
Never
Valid: True
Origin: Web
Scopes: create_event create_note email friends_actions.music friends_actions.news friends_actions.video friends_likes friends_subscriptions manage_pages photo_upload publish_actions publish_stream rsvp_event share_item status_update user_about_me user_actions.music user_actions.news user_actions.video user_events user_interests user_likes user_location user_status user_subscriptions video_upload
Кажется, это решает исходную проблему, но странно, что access_tokens являются неопределенными, а не длится предписанные 60 дней.
Любые идеи о том, почему это может иметь место?