Маркеры доступа Facebook Oauth 2.0 истекают?

Я играю вокруг с авторизацией Oauth 2.0 в Facebook и задавался вопросом, истекают ли маркеры доступа, которые Facebook раздает когда-либо. Если так, есть ли способ запросить длительный маркер доступа?

122
задан Jared Brown 22 April 2010 в 02:06
поделиться

6 ответов

Да, срок их действия истекает. Существует значение expires, которое передается вместе с access_token, и, насколько я могу судить, это около 2 часов. Я искал, но не вижу способа запросить более длительный срок действия.

8
ответ дан 24 November 2019 в 01:25
поделиться

Немного покопавшись, я нашел это. Кажется, это ответ:

Обновлено (11 апреля 2018 г.)

  • Срок действия токена истечет примерно через 60 дней.
  • Токен будет обновляться один раз в день в течение 90 дней, когда человек, использующий ваше приложение, отправит запрос на серверы Facebook.
  • Все токены доступа необходимо обновлять каждые 90 дней с согласия человека, использующего ваше приложение.

Объявление об изменении Facebook (10.04.2018)

Facebook обновила страницу истечения срока действия токена (10.04.2018)

offline_access: Позволяет вашему приложению выполнять авторизованные запросы от имени пользователя в любое время. По умолчанию срок действия большинства токенов доступа истекает через короткий период времени, чтобы гарантировать, что приложения будут делать запросы только от имени пользователя, когда они активно используют приложение. Это разрешение делает токен доступа, возвращаемый нашей конечной точкой OAuth, долгоживущим.

Это запрошенное значение разрешения.

http://developers.facebook.com/docs/authentication/permissions

ОБНОВЛЕНИЕ

Разрешение offline_access было удалено некоторое время назад.

https://developers.facebook.com/docs/roadmap/completed-changes/offline-access-removal/

65
ответ дан 24 November 2019 в 01:25
поделиться

проверьте следующее при взаимодействии с api графика facebook.

1) URL подключения приложения должен быть основой вашего "redirect_uri" URL подключения: - www.x-minds.org/fb/connect/ redirect_uri - www.x-minds .org / fb / connect / redirect 2) Ваш "redirect_uri" должен быть одинаковым в обоих случаях (когда вы запрашиваете код подтверждения и запрашиваете токен доступа) redirect_uri - www.x -minds.org/fb/connect/redirect 3) вы должны кодировать аргумент, когда запрашиваете access_token 4) не должны передавать аргумент (type = client_cred), когда вы запрашиваете для access_token. сервер авторизации выдаст токен без части сеанса. мы не можем использовать этот токен с псевдонимом «я» в графическом API. Этот токен будет иметь длину (40), но токен с сеансовой частью будет иметь длину (81). Маркер доступа без сеансовой части будет работать с некоторыми случаями

, например: - https : //graph.facebook.com/ ? access_token = 116122545078207 | EyWJJYqrdgQgV1bfueck320z7MM. Но Graph API с псевдонимом "я" будет работать только с токеном с сеансовой частью.

0
ответ дан 24 November 2019 в 01:25
поделиться

войдите в учетную запись facebook и отредактируйте настройки своего приложения (учетная запись -> настройки приложения -> дополнительные разрешения приложения, которое использует вашу учетную запись). снимите флажок с разрешения (Доступ к моим данным, когда я не использую приложение (offline_access)). Тогда при входе в приложение face book выдаст новый токен.

1
ответ дан 24 November 2019 в 01:25
поделиться

поскольку у меня была та же проблема - см. отличное сообщение на эту тему от Бена Биддингтона, который прояснил все эти проблемы с неправильным токеном и правильным типом для отправки запросов.

http://benbiddington.wordpress.com/2010/04/23/facebook-graph-api-getting-access-tokens/

6
ответ дан 24 November 2019 в 01:25
поделиться

Попробуйте это, возможно, это поможет вам полностью

https://graph.facebook.com/oauth/authorize?
    client_id=127605460617602&
scope=offline_access,read_stream,user_photos,user_videos,publish_stream&
    redirect_uri=http://www.example.com/

Чтобы получить пожизненный токен доступа, вы должны использовать scope = offline_access

Значение scope = offline_access : -

Позволяет вашему приложению выполнять авторизованные запросы от имени пользователю в любое время. По умолчанию срок действия большинства токенов доступа истекает после короткий период времени, чтобы приложения делали запросы только от имени пользователя, когда они активно используют приложение. Этот Разрешение делает токен доступа, возвращаемый нашей конечной точкой OAuth долгожитель.

Но согласно будущему обновлению facebook, функциональность offline_acees будет навсегда прекращена с 3 октября 2012 года. и пользователю будет предоставлен 60-дневный токен доступа с долгим сроком действия, и до истечения срока действия токена доступа Facebook уведомит вас, или вы можете получить свою настраиваемую функцию уведомления, извлекая значение срока действия из Facebook Api.

29
ответ дан 24 November 2019 в 01:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: