NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Certificates for Laravel

Certifikáty na modeloch

Trait HasCertificates pridajte ľubovoľnému Eloquent modelu, ktorý vlastní domény — tenantovi, webu, tímu. Certifikáty sa pripájajú cez nullable morph certifiable v registri. Vystavíte ich cez fasádu s owner(), alebo skratkou requestCertificate() z traitu, ktorá volá ten istý CertificatesManager::issue():

use Illuminate\Database\Eloquent\Model;
use RoundlyConsulting\Certificates\Concerns\HasCertificates;
use RoundlyConsulting\Certificates\Facades\Certificates;

class Tenant extends Model
{
    use HasCertificates;
}

Certificates::for('shop.example.com')->owner($tenant)->issue(); // issue, owned by $tenant

$tenant->requestCertificate('shop.example.com');           // the same shorthand, via the manager
$tenant->requestCertificate('shop.example.com', 'acme');   // ...on a specific driver
$tenant->certificateFor('shop.example.com');               // ?Certificate — the latest
$tenant->hasCertificateFor('shop.example.com');            // bool
$tenant->certificates()->get();                            // every certificate it owns
$tenant->activeCertificates();
$tenant->expiringCertificates(days: 14);
  • certificates() — vzťah MorphMany s nakonfigurovaným modelom registra.
  • requestCertificate($domain, ?$driver) — vystaví certifikát, ktorého vlastníkom je model, cez manager, takže ho Certificates::fake() zaznamená.
  • certificateFor($domain) — posledný certifikát modelu pre primárnu doménu, alebo null.
  • hasCertificateFor($domain) — či má model pre doménu akýkoľvek certifikát.
  • activeCertificates() — certifikáty modelu v scope active().
  • expiringCertificates(?$days) — certifikáty s expiráciou do $days dní, predvolene renewal.threshold_days.

Vlastník z buildera

Builder priradí vlastníka spolu so SAN doménami, driverom a meta údajmi:

Certificates::for('shop.example.com')
    ->alsoFor('www.shop.example.com')
    ->owner($tenant)
    ->using('acme')
    ->issue();

Životný cyklus cez fasádu

Trait certifikáty len vystavuje a číta. Obnovu, odvolanie a expiráciu certifikátu vlastníka riešite cez fasádu:

use RoundlyConsulting\Certificates\Facades\Certificates;

Certificates::renew($tenant->certificateFor('shop.example.com'));
Certificates::for('shop.example.com')->revoke('tenant closed');

Vlastník nie je dôležitý len pre vyhľadávanie: ak neexistuje explicitný ani nakonfigurovaný príjemca, upozornenia na expiráciu idú vlastníkovi certifikátu cez certifiable (pozri Sledovanie expirácie). Ak majú vlastníci UUID alebo ULID kľúče, použite key_type uuid alebo ulid.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.