othillo / broadway-sensitive-data
dev-master / 1.0.x-dev
2023-03-25 09:18 UTC
Requires
- php: >=7.2
- broadway/broadway: ^2.3.1
Requires (Dev)
- broadway/coding-standard: ^1.2
- phpspec/prophecy: ^1.15
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^8.0 || ^9.0
- dev-master / 1.0.x-dev
- 0.4.0.x-dev
- dev-coding-standards-github-action
- dev-dependabot/github_actions/ramsey/composer-install-2
- dev-dependabot-github-actions
- dev-phpstan-1
- dev-php-cs-fixer-3
- dev-php-cs-fixer-patch
- dev-license
- dev-uuid-1
- dev-coding-standard-1
- dev-phpstan
- dev-makefile
- dev-broadway-2.2
- dev-coding-standard
- dev-phpunit-8
- dev-php-7.2
- dev-broadway-2
- dev-broadway-1.0
- dev-move-repository
This package is auto-updated.
Last update: 2023-06-19 17:45:36 UTC
README
使用Broadway处理敏感数据的辅助工具。
安装
$ composer require broadway/sensitive-data
关于
在事件源环境中,您可能必须处理最终出现在您的事件流中的敏感数据(例如,个人信息)。您可以加密事件流或删除事件流中的敏感数据(例如,时间上提升)。或者,您可以选择完全不将敏感数据存储在事件流中。这就是本项目提供帮助的地方。
想象一下这样一个场景:一个客户想要用信用卡支付订单,但您不允许存储信用卡号。
带有信用卡号的PayWithCreditCardCommand
应该导致一个没有信用卡号的PaymentWithCreditCardRequestedEvent
,但处理此事件的Processor
需要知道信用卡号。
本项目引入了一个SensitiveDataManager
,它可以注入到CommandHandler
中,以从命令中捕获敏感数据并使其可用于SensitiveDataProcessor
,从而绕过事件存储。
优点
- 敏感数据不会存储在事件流中
- 不需要加密或提升事件
缺点
- 敏感数据的处理只能在每个请求中执行一次
示例
有关详细示例和测试用例,请参阅examples/
目录中的示例。
许可
本项目采用MIT许可 - 有关详细信息,请参阅LICENSE文件。