minvws/puzi-laravel

UZI通行证认证中间件,适用于Laravel。

安装数: 1,928

依赖关系: 0

建议者: 0

安全: 0

星标: 1

关注者: 15

分支: 5

开放问题: 0

类型:laravel

v3.2.2 2023-02-27 13:50 UTC

README

pUZI logo

pUZI Laravel

Laravel

PHP中熟练的UZI通行证读取器。

UZI卡是荷兰医疗人员和医生身份验证机制的一部分。这些卡由CIBG分发。更多信息及相关客户端软件可在www.uziregister.nl(荷兰语)找到。

pUZI是一个简单实用的模块,允许您使用UZI卡作为身份验证机制。它包括

  1. 一个读取卡上数据并返回UziUser对象的读取器。
  2. 中间件(用于Laravel框架),允许基于UZI卡进行身份验证和用户创建(此存储库)。

有关文档、软件以及申请UZI卡,请访问www.uziregister.nl

pUZI采用欧盟PL许可。它于2021年初在COVID19活动期间作为疫苗接种登记项目BRBA的一部分为“Ministerie van Volksgezondheid, Welzijn & Sport,程序实现数字支持”创建。

欢迎通过GitHub提问和贡献。

要求

  • PHP 8
  • Laravel 8或更高版本。

Apache配置(或NginX等效配置)

SSLEngine on
SSLProtocol -all +TLSv1.3
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLVerifyClient require
SSLVerifyDepth 3
SSLCACertificateFile /path/to/uziCA.crt
SSLOptions +StdEnvVars +ExportCertData

安装

Composer

composer require minvws/puzi-laravel

手动

将以下内容添加到您的composer.json中,然后运行composer install

{
    "require": {
        "minvws/puzi-laravel": "^v3.0"
    }
}

使用方法

php artisan vendor:publish --provider="MinVWS\PUZI\Laravel\UziServiceProvider"

将中间件添加到app/Http/Kernel.php中的$routeMiddleware数组中

    'auth.uzi' => \MinVWS\PUZI\Laravel\Middleware\AuthenticateWithUzi::class,

将一些allowed_typesallowed_roles添加到config/uzi.php中。

例如

    // Which card types are allowed to log in
    'allowed_types' => [
        \MinVWS\PUZI\UziConstants::UZI_TYPE_CARE_PROVIDER
    ],

    // Which roles are allowed to log in
    'allowed_roles' => [
        \MinVWS\PUZI\UziConstants::UZI_ROLE_DOCTOR
    ],

routes/web.php中添加中间件到一些路由中,例如

Route::middleware(['auth:web,auth.uzi'])->group(function () {
    Route::get('/any', [Controller::class, 'all'])->name('any');
    Route::get('/all', [Controller::class, 'all'])->name('all');
});

Route::middleware('auth.uzi')->group(function () {
    Route::get('/uzi', [Controller::class, 'uzi'])->name('uzi');
});

使用

puzi-php - PHP中熟练的UZI通行证读取器

phpseclib - PHP安全通信库

贡献

  1. 分支项目

  2. 确保您已安装Composer(请参阅Composer下载说明

  3. 安装开发依赖项

    composer install
  4. 创建功能分支

  5. (推荐)运行测试套件

    vendor/bin/phpunit
  6. (推荐)通过运行检查您的代码是否符合我们的编码标准

    vendor/bin/phpstan analyse
    vendor/bin/psalm
    vendor/bin/phpcs
  7. 发送给我们Pull Request

pUZI