jgxvx / cilician-bundle
从 Symfony 应用程序访问 haveibeenpwned.com API。
4.0.0
2023-12-25 14:49 UTC
Requires
- php: ^8.2|^8.3
- jgxvx/cilician: ~4.0
- symfony/framework-bundle: ^5.4|^6.4|^7.0
- symfony/validator: ^5.4|^6.4|^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.22
- gase/php-cs-fixer: ^3.0
- mockery/mockery: ^1.6
- phpunit/phpunit: ^9.5|^10.0
- roave/security-advisories: dev-master
README
将 cilician,一个用于 PHP 的 haveibeenpwned.com API 客户端,集成到 Symfony 应用的 Bundle。
安装
$ composer require jgxvx/cilician-bundle
文档
此 Bundle 包裹了 Cilician 库。请参考库文档了解您可以使用它做什么。
服务
该 Bundle 提供了两个公开服务:主库服务 cilician
和密码验证器 cilician.validator.isunbreachedpassword
。
cilician 服务
使用 Jgxvx\Cilician\Service\Cilician
类型提示您的参数,或通过别名 cilician
请求服务以将服务注入到您的组件中。
密码验证器 & 约束
为了防止用户选择一个在已记录的数据泄露中出现的密码,请在您的注册表单中添加 IsUnbreachedPassword
约束。
$builder
->add('password', PasswordType::class, [
'constraints' => [
new IsUnbreachedPassword(),
],
'label' => 'label.password',
'attr' => [
'autocomplete' => 'off',
],
]);
还可以将约束断言添加到属性中。但是,应该非常谨慎地使用:确保不要在数据库中保存明文密码。此外,如果与用户实体一起使用,这很可能会不起作用,因为密码属性将包含密码散列。
use Jgxvx\CilicianBundle\Validator\Constraints as CilicianAssert;
// ...
/**
* @var string
*
* @CilicianAssert\IsUnbreachedPassword()
*/
private $password;
缓存
如果存在一个在 cache
别名下的 PSR-16 兼容缓存服务,它将被注入到 cilician
中以启用缓存。
日志记录
如果存在一个在 logger
别名下的 PSR-3 兼容日志记录器,它将被注入到 cilician
中以启用日志记录。
许可证
CilicianBundle 是在 MIT 许可证下发布的开源软件。请参阅 LICENSE 文件以获取更多信息。
贡献
请参阅 贡献指南。