stayallive / laravel-passport-memoized
Laravel Passport 缓存仓库。
v1.0.5
2024-03-13 21:38 UTC
Requires
- php: ^8.0.2
- laravel/framework: ^9|^10|^11
- laravel/passport: ^10|^11|^12
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.14
- laravel/octane: ^1.2|^2
- orchestra/testbench: ^8|^9
- phpunit/phpunit: ^10.0
README
Laravel Passport 内置了底层 oauth2-server 的仓库,这会导致在单个请求中多次查询数据库以获取完全相同的对象。尽管好的数据库引擎对这种影响很小,但仍然是不可以接受的,应尽可能避免。
在典型的 Passport 令牌认证请求中,您将看到令牌被检索 3 次,客户端被检索 2 次。
这可能在未来 Laravel Passport 版本中修复,但在那时之前,您可以安装此包。
此包将客户端和令牌仓库替换为那些缓存特定调用结果的仓库,这些调用执行数据库查询以消除重复查询。
由于我们确保在每次请求后清除缓存以防止陈旧的缓存,因此可以安全地与 Laravel Octane 一起使用。
为什么是包?
而不是向 Laravel Passport 提交 PR?这已经在过去 尝试过(尽管还不是完美的解决方案),但决定不更改,因此创建了此包作为替代方案。有关更多信息,请参阅 此 固定问题,以及如果您正在寻找替代解决方案,请查看 此包。
安装
composer require stayallive/laravel-passport-memoized
用法
您只需要安装此包即可受益,除非您禁用了包自动发现,在这种情况下,您需要手动将服务提供者添加到您的 config/app.php
。
安全漏洞
如果您在此包中发现安全漏洞,请发送电子邮件至 Alex Bouma(alex+security@bouma.me
)。所有安全漏洞都将得到迅速解决。
许可证
此包是开源软件,许可协议为 MIT 许可协议。