使用带有承载令牌授权的carrierwave

时间:2016-01-08 20:50:42

标签: ruby-on-rails ruby carrierwave bearer-token

我目前正在使用carrierwave使用 Value Value_Num type 0 1 1.00 False 1 1.23 1.23 False 2 foo NaN True 3 3.14e6 3140000.00 False 方法上传照片。

今天,我可以访问使用remote_url令牌保护的链接。很遗憾,我们的图片提供商不允许我们通过Bearer Authorization协议访问图片。

是否可以将carrierwave配置为在?access_token=VALID_TOKEN标头中传递Bearer VALID_TOKEN?或其他想法来解决我的问题?

1 个答案:

答案 0 :(得分:3)

使用以下代码创建文件config/initializers/bearer.rb

module CarrierWave
  module Uploader
    module Download
      class RemoteFile
        def file
          if @file.blank?
            @file = Kernel.open(@uri.to_s, 'Authorization' => 'Bearer VALID TOKEN')
            @file = @file.is_a?(String) ? StringIO.new(@file) : @file
          end
          @file

        rescue Exception => e
          raise CarrierWave::DownloadError, "could not download file: #{e.message}"
        end
      end
    end
  end
end

现在,您的令牌将针对每个remote_url发送。