Как правильно обновить токен доступа Facebook OAuth2 по истечении срока его действия?

Насколько я понимаю, это основной процесс для новых приложений Facebook iframe Canvas, использующих OAuth2 API, в двух словах:

  1. Перенаправление на URL авторизации приложения (или получение пользователем ссылки на него)
  2. Пользователь авторизуется и перенаправляется на ваш URL обратного вызова
  3. Обратный вызов использует параметр "code" для получения токена доступа
  4. Токен доступа используется с Graph API для извлечения или отправки информации

Проблема в том, что срок действия токенов доступа относительно истекает. быстро и нуждаются в «обновлении», поэтому у меня следующие вопросы: 1) как определить, что срок действия токена истек, помимо попытки его использовать и простого получения ошибки? и 2) как лучше всего получить новый токен?

В настоящее время я просто обнаружил, что произошла ошибка при попытке получить информацию о пользователе с его токеном доступа, затем снова перенаправить на URL-адрес авторизации - поскольку они уже авторизовали приложение, мигает пустая страница, и они перенаправляются обратно в обратный вызов моего приложения, где я получаю новый токен. Это так неуклюже, что я не могу поверить, что это правильный метод.

53
задан Ashkan Mobayen Khiabani 20 May 2015 в 16:20
поделиться