【问题标题】:Hiding sensitive data in VCR在 VCR 中隐藏敏感数据
【发布时间】:2020-02-26 11:24:06
【问题描述】:

在我从 VCR gem 录制的磁带中:

http_interactions:
- request:
    method: get
    uri: https://nme_site/rest/api/2/search?.a_lot_of_data
    body:
      encoding: US-ASCII
      string: ''
    headers:
      Accept:
      - application/json
      Accept-Encoding:
      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
      User-Agent:
      - Ruby
      Authorization:
      - Basic ZGV345646543653

如何隐藏Authorization: - Basic ZGV345646543653

我试图:

config.filter_sensitive_data('<AUTH>') { 'http_interactions.request.Authorization' } 但它不起作用。

【问题讨论】:

    标签: ruby rspec vcr


    【解决方案1】:

    根据#filter_sensitive_data 上的文档,应该这样做:

    config.filter_sensitive_data('<AUTH>') { |interaction|
      interaction.request.headers['Authorization']
    }
    

    这会将Basic ZGV345646543653 替换为&lt;AUTH&gt;

    如果您只想替换 ZGV345646543653 以使标题变为 Basic &lt;AUTH&gt;,那么您需要这个:

    config.filter_sensitive_data('<AUTH>') { |interaction|
      interaction.request.headers['Authorization'].sub('Basic ', '')
    }
    

    【讨论】:

    • 不幸的是它不起作用,仍然收到这些值
    猜你喜欢
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 2017-09-12
    • 1970-01-01
    • 2022-11-25
    相关资源
    最近更新 更多