robertogallea / laravel-greenpass
此包的最新版本(0.2.2)没有可用的许可证信息。
针对php/laravel的欧洲绿通行证解码和验证
0.2.2
2021-12-15 10:18 UTC
Requires
- php: ^7.3|^8.0
- ext-bcmath: *
- ext-gd: *
- guzzlehttp/guzzle: ^7.3
- herald-si/verificac19-sdk-php: ^1.0.5
- illuminate/support: >=6.0
- illuminate/validation: >=6.0
- khanamiryan/qrcode-detector-decoder: 1.0.5.2
- libern/qr-code-reader: ^1.0
- nesbot/carbon: ^2.16
Requires (Dev)
- orchestra/testbench: >=6.0
- phpunit/phpunit: >=9.0
README
laravel-greenpass
laravel-greenpass是一个用于管理欧洲绿通行证(即新冠证明)的包。该包允许轻松验证和解码绿通行证。它还适用于Laravel,因为它提供了一个方便的自定义验证器来验证请求。
安装
运行以下命令以安装包的最新适用版本
composer require robertogallea/laravel-greenpass
Laravel
在你的应用配置中,将服务提供者添加到$providers
数组中(仅限Laravel 5.4或以下版本)
'providers' => [ ... robertogallea\LaravelGreenPass\GreenPassServiceProvider::class, ],
Lumen
在bootstrap/app.php
中,注册服务提供者
$app->register(robertogallea\LaravelGreenPass\GreenPassServiceProvider::class);
配置
默认情况下,底层验证包将验证证书保存在storage/app/public/green_pass_cache
中。如果你想更改此文件夹,请使用以下命令发布配置文件
php artisan vendor:publish --provider="robertogallea\LaravelGreenPass\GreenPassServiceProvider" --tag="config"
并编辑config/green-pass.php
文件中的certificate-storage-path
键。
确保所选文件夹具有写入权限!
验证
要验证绿通行证的强正性,请在验证规则数组中使用greenpass
和greenpass_file
关键字。请注意,这样你并不能检查绿通行证实际上是否有效(即没有过期或被撤销)。
public function rules() { return [ 'greenpass_string' => 'greenpass', //... ]; }
public function rules() { return [ 'greenpass_uploaded_file' => 'greenpass_file', //... ]; }
要执行强验证(即检查实际有效性),你可以在验证规则中添加active
参数
public function rules() { return [ 'greenpass_string' => 'greenpass:active', //... ]; }
public function rules() { return [ 'greenpass_uploaded_file' => 'greenpass_file:active', //... ]; }
实用GreenPassDecoder类
可以使用GreenPassDecoder
服务读取绿通行证
use robertogallea\LaravelGreenPass\GreenPassDecoder; ... $greenpass = new GreenPassDecoder(); $result = $greenpass->decode('HC1:...'); var_dump($result); // or $result = $greenpass->decodeFile('/path/to/file'); var_dump($result);
你还可以使用GreenPass
外观
use robertogallea\LaravelGreenPass\GreenPassDecoder; ... $result = \GreenPass::decode('HC1:...'); var_dump($result); // or $result = \GreenPass::decodeFile('/path/to/file'); var_dump($result);