PHPackages                             minvws/puzi-auth-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. minvws/puzi-auth-bundle

AbandonedArchivedSymfony-bundle[Security](/categories/security)

minvws/puzi-auth-bundle
=======================

Symfony authentication middleware for UZI passes.

0.1.0(5y ago)16EUPL-1.2PHPPHP &gt;=7.3

Since Mar 19Pushed 8mo ago7 watchersCompare

[ Source](https://github.com/minvws/puzi-auth-bundle)[ Packagist](https://packagist.org/packages/minvws/puzi-auth-bundle)[ RSS](/packages/minvws-puzi-auth-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (8)Versions (5)Used By (0)

[![pUZI logo](pUZI.svg "pUZI logo")](pUZI.svg)

UZI authentication bundle for Symfony
=====================================

[](#uzi-authentication-bundle-for-symfony)

[![CI](https://github.com/minvws/puzi-auth-bundle/actions/workflows/test.yml/badge.svg)](https://github.com/minvws/puzi-auth-bundle/actions/workflows/test.yml)

Proficient UZI pass reader in php.

The UZI card is part of an authentication mechanism for medical staff and doctors working in the Netherlands. The cards are distributed by the CIBG. More information and the relevant client software can be found at [www.uziregister.nl](http://www.uziregister.nl) (in Dutch).

pUZI is a simple and functional module which allows you to use the UZI cards as authentication mechanism. It consists of:

1. a reader that reads the data on the card and gives an UziUser object in return.
2. a validator that will check the given UziUser against a set of types and roles.
3. a symfony guard authenticator that allows authentication based on UZI cards (this repository).

For documentation, software and to apply for an UZI card, please check out [www.uziregister.nl](https://www.uziregister.nl).

pUZI is available under the EU PL licence. It was created early 2021 during the COVID19 campaign as part of the vaccination registration project BRBA for the ‘Ministerie van Volksgezondheid, Welzijn &amp; Sport, programma Realisatie Digitale Ondersteuning.’

Questions and contributions are welcome via [GitHub](https://github.com/minvws/puzi-auth-bundle/issues).

Requirements
------------

[](#requirements)

- Symfony 4 or higher

Apache config (or NginX equivalent):

```
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
```

Installation
------------

[](#installation)

### Composer

[](#composer)

```
composer require minvws/puzi-auth-bundle
```

Usage
-----

[](#usage)

Step 1: install bundle with composer:

```
composer require minvws/puzi-auth-bundle

```

Step 2: create a configuration file:

```
# config/packages/puzi_auth.yaml
puzi_auth:
    strict_ca_check: true
    allowed_types:
        - !php/const MinVWS\PUZI\UziConstants::UZI_TYPE_NAMED_EMPLOYEE
        - !php/const MinVWS\PUZI\UziConstants::UZI_TYPE_CARE_PROVIDER
    allowed_roles:
        - !php/const MinVWS\PUZI\UziConstants::UZI_ROLE_DOCTOR

```

Step 3: add the guard to your `security.yml`:

```
firewalls:
    main:
        guard:
           authenticators:
            - puzi_auth.security.guard.authenticator
        stateless: true

```

At this point, an authenticated user will be of the `MinVWS\PUZI\AuthBundle\Security\User\UziUser` class. You can fetch any information about the UZI card itself with `$this->getUser()->getUzi()`.

Uses
----

[](#uses)

puzi-php - [Proficient UZI pass reader in PHP](https://github.com/minvws/pUZI-php)

phpseclib - [PHP Secure Communications Library](https://phpseclib.com/)

Contributing
------------

[](#contributing)

1. Fork the Project
2. Ensure you have Composer installed (see [Composer Download Instructions](https://getcomposer.org/download/))
3. Install Development Dependencies

    ```
    composer install
    ```
4. Create a Feature Branch
5. (Recommended) Run the Test Suite

    ```
    vendor/bin/phpunit
    ```
6. (Recommended) Check whether your code conforms to our Coding Standards by running

    ```
    vendor/bin/phpstan analyse
    vendor/bin/phpcs
    ```
7. Send us a Pull Request

[![pUZI](pUZI-hidden.svg "pUZI")](pUZI-hidden.svg)

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance44

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1858d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/19b14ca62f80ce8c77ae749ddf04e2d4077451db9f701f3bd37dec1dc950c76b?d=identicon)[JayTaph](/maintainers/JayTaph)

![](https://www.gravatar.com/avatar/35585f12d5551026d3cf7e8e25170cd718a16a5017096b3201ed196311ac51d9?d=identicon)[annejan](/maintainers/annejan)

![](https://www.gravatar.com/avatar/44e7cc7a950c1f964d8c8a5e3421d5fa61d6592add09ee3936ed267d75b2be33?d=identicon)[rdobeheer](/maintainers/rdobeheer)

---

Top Contributors

[![jaytaph](https://avatars.githubusercontent.com/u/241458?v=4)](https://github.com/jaytaph "jaytaph (2 commits)")

---

Tags

guardsymfony-bundleuzi-cardsymfonysecuritycryptographycryptosignaturex509asn1UZI

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/minvws-puzi-auth-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/minvws-puzi-auth-bundle/health.svg)](https://phpackages.com/packages/minvws-puzi-auth-bundle)
```

###  Alternatives

[phpseclib/phpseclib

PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.

5.6k434.8M1.3k](/packages/phpseclib-phpseclib)[ukrbublik/openssl_x509_crl

Missing OpenSSL function on PHP to create CRL (certificate revocation list) for CA

182.1k](/packages/ukrbublik-openssl-x509-crl)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
