othillo/broadway-sensitive-data

此包已被废弃,不再维护。作者建议使用broadway/sensitive-data包。

使用Broadway处理敏感数据的辅助工具

dev-master / 1.0.x-dev 2023-03-25 09:18 UTC

README

使用Broadway处理敏感数据的辅助工具。

build status

安装

$ composer require broadway/sensitive-data

关于

在事件源环境中,您可能必须处理最终出现在您的事件流中的敏感数据(例如,个人信息)。您可以加密事件流或删除事件流中的敏感数据(例如,时间上提升)。或者,您可以选择完全不将敏感数据存储在事件流中。这就是本项目提供帮助的地方。

想象一下这样一个场景:一个客户想要用信用卡支付订单,但您不允许存储信用卡号。

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

本项目引入了一个SensitiveDataManager,它可以注入到CommandHandler中,以从命令中捕获敏感数据并使其可用于SensitiveDataProcessor,从而绕过事件存储。

优点

  • 敏感数据不会存储在事件流中
  • 不需要加密或提升事件

缺点

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

示例

有关详细示例和测试用例,请参阅examples/目录中的示例。

许可

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