Как программно запустить сеанс OAuth?

Я использую API InfusionSoft, чтобы сохранить содержимое формы, заполненной на веб-сайте. API использует OAuth, и из того, что я могу сказать, нет способа провести сеанс продолжительностью жизни.

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

У меня есть начальный токен, но после этого истекает, что тогда? Единственное, что я могу придумать, это иметь задание cron, которое выполняется ежечасно, чтобы обновить токен доступа (существует метод refreshAccessToken).

Ответ 1

Вам нужно сохранить токен доступа (краткосрочный - он работает 24 часа) и токен обновления (долгосрочный).

Вам нужно будет только вызвать метод refreshAccessToken в начале каждого сеанса. Этот метод вернет как новый токен доступа, так и новый токен обновления.

При создании запросов API используйте новый токен доступа для текущего сеанса. Токен доступа будет действовать в течение 24 часов (время от времени это изменяется).

Сохраните новый токен обновления и снова используйте его для следующего сеанса.