milhouse1337 / cogul
此包可以用简单的cookie来保护Laravel中的任何路由。
v1.02
2019-06-18 16:04 UTC
Requires
- php: >=5.6
This package is auto-updated.
Last update: 2024-09-19 03:34:21 UTC
README
COokie GUard for Laravel
此包可以用简单的cookie来保护Laravel中的任何路由。如果没有在请求中定义的cookie值,它将阻止任何人(或任何东西)访问特定的路由。
安装
您可以通过Composer安装此包
composer require milhouse1337/cogul
配置
要生成随机令牌(字符串),您可以使用 openssl
,如下所示
openssl rand -hex 32
将令牌添加到您的 .env
文件中
COGUL_TOKEN=random_token_here
您可以使用(可选的)来发布配置
php artisan vendor:publish --provider="Milhouse1337\Cogul\CogulServiceProvider"
以下是一个示例 config/cogul.php
文件
return [ 'token' => env('COGUL_TOKEN', ''), 'url' => env('COGUL_URL', '/auth/token/{token}'), 'redirect' => env('COGUL_REDIRECT', '/'), 'cookie' => env('COGUL_COOKIE', 'cogul'), 'expiration' => env('COGUL_EXPIRATION', 2628000), // 5 years. 'middleware' => env('COGUL_MIDDLEWARE', 'web'), 'whitelist' => [], ];
用法
您必须使用 auth.cogul
中间件定义您想要保护的路由,如下所示
Route::get('example', 'Controller@example')->middleware('auth.cogul');
现在如果您 GET
此 /example
,您将收到Laravel的 403
响应。
为了得到预期的响应,您需要在浏览器中访问以下链接来设置 cogul
cookie
/auth/token/random_token_here
cookie应该存储在您的浏览器中,并且您将被重定向到您配置的URL。
现在您将能够正常访问 /example
,直到cookie过期或被删除。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。