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