Подтвердить что ты не робот

Закрытие токена доступа к приложениям Facebook (НЕ пользователь)

Срок действия токенов доступа Facebook APP истекает? Эти жетоны отличаются от токенов USER; они приобретаются следующим образом:

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id={0}&client_secret={1})

как описано в разделе "Вход в приложение" документа http://developers.facebook.com/docs/authentication/.

Существуют ли какие-либо обстоятельства, при которых они станут недействительными?

NB: Это НЕ вопрос о токенах доступа USER (которые четко документированы). Был аналогичный вопрос http://facebook.stackoverflow.com/info/7322063/does-app-login-access-token-expire ошибочно закрыт как дубликат другого вопроса о токенах доступа USER.

4b9b3361

Ответ 1

В документации Facebook:

Ток подписки на доступ подписывается с помощью вашего приложения и не будет истекает; он будет признан недействительным, если вы снова включите / reset ваше приложение секрет.

Ответ 2

Я знаю, что одно условие, которое приведет к их недействительности, - это reset Application Secret с помощью инструмента для разработчиков Facebook.

Я не знаю, будет ли использование метода OAuth для создания App Token для истечения срока действия. Тем не менее, если вы сканируете Facebook SDK SDK, вы можете заметить, что токен приложения, не истекающий срок действия, создается путем конкатенации app_id и тайны:

  /**
   * Returns the access token that should be used for logged out
   * users when no authorization code is available.
   *
   * @return string The application access token, useful for gathering
   *                public information about users and applications.
   */
  protected function getApplicationAccessToken() {
    return $this->appId.'|'.$this->apiSecret;
  }

ПРЕДУПРЕЖДЕНИЕ: Я бы никогда не использовал это в клиентском коде, поскольку он опубликовал бы ваше приложение в секрете. Однако в среде сервера доверия это похоже на путь.

Чтобы проверить это, я пошел в инструмент OpenGraph и удалил свой токен доступа и набрал конкатенированное значение из образца кода. Затем я получил доступ к своим приложениям, чтобы убедиться, что он будет работать:

<APP_ID>/insights/application_active_users

Ответ 3

Создание APP_ACCESS_TOKEN очень просто. Вы можете использовать App ID/API Key и App secret

access_token = YOUR_APP_ID|YOUR_APP_SECRET

Пример: 1234587968 | bghyuifjk3438483249235903502035023504305

Ответ 4

Для меня ответ заключается не в том, чтобы найти токен, который не истекает, (поскольку я не доверяю Facebook), но чтобы поймать истекающий токен и reset, не занимая время для моих пользователей. Я нашел это и подумал, что вы можете проверить его.

"Чтобы обеспечить лучший опыт для ваших пользователей, ваше приложение должно быть готово к сбою ошибок для вышеуказанных сценариев. Следующий код PHP показывает вам, как обрабатывать эти ошибки и извлекать новый токен доступа.

При перенаправлении пользователя в диалоговое окно auth пользователю не будет предложено разрешить, если пользователь уже разрешил ваше приложение. Facebook вернет вам действительный токен доступа без какого-либо диалога с пользователем. Однако, если пользователь отменил авторизованное приложение, пользователь должен будет повторно авторизировать свое приложение для вас, чтобы получить access_token. "Ресурс: https://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/