PHPackages                             hearth/license-client - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. hearth/license-client

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

hearth/license-client
=====================

Laravel helper package that verifies a license key against master-data.ro and stores the result locally.

v0.1.0(6mo ago)07MITPHPPHP &gt;=8.0

Since Nov 6Pushed 4mo agoCompare

[ Source](https://github.com/master-data-ro/client-laravel-hearth.master-data.ro)[ Packagist](https://packagist.org/packages/hearth/license-client)[ RSS](/packages/hearth-license-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

hearth.master-data.ro client
============================

[](#hearthmaster-dataro-client)

[View on GitHub](https://github.com/master-data-ro/hearth-license-client)

Instalare / Installation
------------------------

[](#instalare--installation)

Adaugă în `composer.json` sau instalează direct din repository:

```
composer require master-data-ro/hearth-license-client:dev-main
```

Pentru testare locală, poți adăuga un repository de tip `path`:

```
"repositories": [
  {
    "type": "vcs",
    "url": "https://github.com/master-data-ro/hearth-license-client.git"
  }
]
```

Utilizare / Usage
-----------------

[](#utilizare--usage)

1. Rulează comanda artisan pentru a valida o cheie de licență (va contacta autoritatea):

```
php artisan make:license-server LICENTA-TA
```

2. La succes, pachetul va salva fișierul `storage/license.json` cu metadatele licenței (criptat).
3. Middleware-ul `Hearth\\LicenseClient\\Middleware\\EnsureHasValidLicense` va fi adăugat automat în grupa `web` la boot. Aplicația va returna HTTP 403 până când există o licență validă.

Cum funcționează (Principiul "ping-pong")
-----------------------------------------

[](#cum-funcționează-principiul-ping-pong)

1. **Clientul** (aplicația ta) trimite cheia de licență și domeniul către autoritate (hearth.master-data.ro) folosind comanda: ```
    php artisan make:license-server YOUR-LICENSE-KEY
    ```
2. **Autoritatea** verifică cheia și domeniul:
    - Dacă licența este validă, răspunde cu un payload semnat și criptat, ce conține metadatele licenței.
    - Dacă licența nu există sau necesită aprobare, răspunde cu un mesaj de pending/în așteptare.
    - Dacă licența este invalidă, răspunde cu eroare și motiv.
3. **Clientul** verifică semnătura autorității (folosind cheia publică) și salvează local payload-ul, criptat automat (fără setări suplimentare).
4. **Middleware-ul** pachetului blochează accesul la aplicație până când există o licență validă și verificată local.
5. Poți re-verifica oricând licența locală cu autoritatea (din UI sau CLI) pentru a actualiza statusul.

Acest flux asigură că doar licențele validate de autoritate pot debloca aplicația, iar orice modificare locală este detectată și blocată.

Flux
----

[](#flux)

1. **Clientul** (comandă/Interfață): Trimite cheie + domeniu către autoritate
2. **Autoritatea** (hearth.master-data.ro): Răspunde cu status (valid/pending/invalid) + semnătură
3. **Clientul**: Verifică semnătura, salvează local fișierul de licență criptat
4. **Middleware**: Verifică la fiecare request dacă licența este validă
5. **Aplicația Laravel**: Permite acces doar dacă licența este validă

Flux simplificat:

Client → Autoritate → Client → Middleware → Aplicație

- Cerere licență → Răspuns semnat → Salvare locală → Enforcement → Acces

Detalii suplimentare
--------------------

[](#detalii-suplimentare)

- **Verificare periodică:** Poți re-verifica licența oricând (din UI sau CLI) pentru a actualiza statusul fără a reinstala.
- **Pending/În aprobare:** Dacă autoritatea răspunde cu pending, aplicația va afișa statusul "În aprobare" și va bloca funcționalitatea până la aprobare.
- **Securitate:** Orice modificare manuală a fișierului de licență va fi detectată și va bloca accesul.
- **Push automat:** Autoritatea poate trimite licențe noi/actualizate direct către endpoint-ul clientului.
- **Fără configurare la client:** Pachetul este blocat; nu există `config/license-client.php` și nu se pot schimba endpoint-uri sau comportamente. Singurul lucru setabil este cheia de licență, introdusă din UI sau CLI.
- **Debug:** Mesajele de la autoritate sunt afișate clar în UI pentru transparență.

Securitate / Security
---------------------

[](#securitate--security)

- Licența este salvată local, criptată în mod implicit; nu sunt necesare parole sau variabile suplimentare.
- Cheia publică a autorității este preluată automat de la: `https://hearth.master-data.ro/keys/pem`.

Notă enforcement
----------------

[](#notă-enforcement)

- Middleware-ul de enforcement nu poate fi dezactivat. Anumite rute sensibile (ex: health, JWKS, interfața de licență) sunt permise implicit de pachet.

Linkuri utile
-------------

[](#linkuri-utile)

- [GitHub: master-data-ro/hearth-license-client](https://github.com/master-data-ro/hearth-license-client)

---

© 2025 master-data.ro

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance73

Regular maintenance activity

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity30

Early-stage or recently created project

 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

193d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4292b95b1ab536a5cea2b7a2691cb67fb296cabffe8949c401423603170619eb?d=identicon)[emsici](/maintainers/emsici)

---

Top Contributors

[![emsici](https://avatars.githubusercontent.com/u/7910648?v=4)](https://github.com/emsici "emsici (36 commits)")

### Embed Badge

![Health badge](/badges/hearth-license-client/health.svg)

```
[![Health](https://phpackages.com/badges/hearth-license-client/health.svg)](https://phpackages.com/packages/hearth-license-client)
```

###  Alternatives

[namshi/jose

JSON Object Signing and Encryption library for PHP.

1.8k99.6M101](/packages/namshi-jose)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)

PHPackages © 2026

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