broadway/sensitive-data

使用 Broadway 处理敏感数据的小助手

0.4.0 2020-03-07 13:16 UTC

README

使用 Broadway 处理敏感数据的小助手。

build status

安装

$ composer require broadway/sensitive-data

关于

在一个事件源环境中,你可能需要处理最终进入事件流中的敏感数据(例如个人数据)。你可以加密你的事件流或在一定数量或时间后(向上转换)从你的事件流中删除敏感数据。或者,你也可以选择完全不在事件流中存储敏感数据。这就是这个项目发挥作用的地方。

想象一下这样一个用例:客户想用信用卡支付订单,但你被禁止存储信用卡号码。

一个包含信用卡号码的 PayWithCreditCardCommand 应该导致一个没有信用卡号码的 PaymentWithCreditCardRequestedEvent,但是处理事件的 Processor 需要知道信用卡号码。

该项目引入了一个 SensitiveDataManager,它可以注入到 CommandHandler 中,以捕获命令中的敏感数据并将其提供给 SensitiveDataProcessor,从而绕过事件存储。

优点

  • 敏感数据不会存储在你的事件流中
  • 不需要对事件进行加密或向上转换

缺点

  • 敏感数据的处理只能在每个请求中执行一次

示例

可以在examples/目录中找到详细的示例和测试用例。

许可证

该项目使用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。