У меня запущено приложение rails на heroku, откуда мне нужно создать Box.com !папка при обратном вызове создания элемента с использованием gem для API содержимого Box !
Стандартный OAuth 2.0 (аутентификация пользователя) box api, предоставляющий токен, который длится час.Мне нужно, чтобы токен был активен на все времена, чтобы приложение могло в любое время создавать папку box из приложения.
Недавно также была реализована функция box webhook.
Я попробовал несколько способов нижено ничего не помогло:
- Обратный вызов обновления токена, как предложено для boxr gem !
token_refresh_callback = lambda {|access, refresh, identifier|
Setting.box_access_token = access
Setting.box_refresh_token = refresh
}
@client = Boxr::Client.new(
Setting.box_access_token,
refresh_token: Setting.box_refresh_token,
client_id: Setting.box_client_id,
client_secret: Setting.box_client_secret, &token_refresh_callback
)
Вызывается метод перед инициализацией для обновления токена
unless (Time.now.to_i >= Setting.box_token_expires_in.to_i - 300)
token = Boxr::refresh_tokens(Setting.box_refresh_token, client_id: Setting.box_client_id, client_secret: Setting.box_client_secret)
Setting.box_access_token = token.access_token
Setting.box_refresh_token = token.refresh_token
Setting.box_token_expires_in = Time.now.to_i + token.expires_in.to_i
end
Использовал планировщик, который в основном вызывает метод для выполнения того, что делал на предыдущем шаге.
Шаг 2 работал раньше, но иногда получал исключение истечения срока действия маркера обновления.вдруг не работает, требуется вручную сбрасывать токен через каждый час.Не уверен, но это может начаться после реализации функции box webhook.
Был бы рад получить предложение / решение для поддержания токена в живых ...