Как программно запустить сеанс OAuth?
Я использую API InfusionSoft, чтобы сохранить содержимое формы, заполненной на веб-сайте. API использует OAuth, и из того, что я могу сказать, нет способа провести сеанс продолжительностью жизни.
Похоже, что OAuth работает, так это то, что он предназначен для входа пользователя в систему, если его сеанс истек, точно так же, как войти в веб-сайт. Это явно не подходит для API, но я уверен, что это не необычное требование.
У меня есть начальный токен, но после этого истекает, что тогда? Единственное, что я могу придумать, это иметь задание cron, которое выполняется ежечасно, чтобы обновить токен доступа (существует метод refreshAccessToken).
Ответы
Ответ 1
Вам нужно сохранить токен доступа (краткосрочный - он работает 24 часа) и токен обновления (долгосрочный).
Вам нужно будет только вызвать метод refreshAccessToken в начале каждого сеанса. Этот метод вернет как новый токен доступа, так и новый токен обновления.
При создании запросов API используйте новый токен доступа для текущего сеанса. Токен доступа будет действовать в течение 24 часов (время от времени это изменяется).
Сохраните новый токен обновления и снова используйте его для следующего сеанса.