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

Validácia a výnimky

ValidDomain je validačné pravidlo Laravelu pre názvy hostiteľov. Vystavenie ho spúšťa na každú doménu, takže neplatný vstup sa k poskytovateľovi nikdy nedostane:

use RoundlyConsulting\Certificates\Rules\ValidDomain;

$request->validate(['domain' => ['required', new ValidDomain]]);

// Reject wildcards such as *.example.com
$request->validate(['domain' => ['required', new ValidDomain(allowWildcard: false)]]);

// Standalone checks
(new ValidDomain)->passes('shop.example.com');         // true
(new ValidDomain)->passes('https://shop.example.com'); // false

Platný názov hostiteľa má aspoň dve časti, každú s 1–63 písmenami, číslicami alebo vnútornými pomlčkami, nečíselnú doménu najvyššej úrovne a najviac 253 znakov. Schémy, cesty, porty, medzery aj bodka na konci sa zamietnu. Úvodný wildcard *. je povolený, pokiaľ neodovzdáte allowWildcard: false.

Výnimky

Všetky chyby balíka rozširujú CertificateException, takže ich zachytíte jedným catch:

VýnimkaKedy vznikne
CertificateExceptionZákladná trieda. Vznikne aj pri doméne bez záznamu v registri (renew(), renewLater(), revoke(), expire()), pri nepovolenom prechode stavu (renew(), renewLater(), revoke(), expire()), keď poskytovateľ hlási certifikát ako failed, expired či revoked, keď obnova vrátila ten istý certifikát, pri názve bez uloženého PEM v súborovom driveri, pri PEM, ktorý nie je X.509 certifikát, a keď monitorExpiry() nenájde príjemcu.
InvalidDomainExceptionDoména pri vystavení neprešla pravidlom ValidDomain.
ProvisioningInProgressExceptionissue(), kým zámok vystavenia tohto certifikátu drží iný proces — nič sa nevystavilo a záznam zostal nedotknutý; skúste to znova, keď vystavenie skončí.
UnknownProviderExceptionCertificates::driver() — alebo provider() na CertificateProviderManager — dostali neznámy názov drivera.
AcmeExceptionZlyhal krok ACME: adresár, nonce, účet, objednávka, výzva, finalizácia, stiahnutie, podpis, generovanie kľúča alebo nepodporovaný kľúč účtu.
KubernetesApiExceptionVolanie Kubernetes API zlyhalo (s HTTP stavom a telom odpovede) alebo je driver nesprávne nakonfigurovaný.
use RoundlyConsulting\Certificates\Exceptions\CertificateException;
use RoundlyConsulting\Certificates\Exceptions\InvalidDomainException;
use RoundlyConsulting\Certificates\Exceptions\ProvisioningInProgressException;
use RoundlyConsulting\Certificates\Facades\Certificates;

try {
    Certificates::for($domain)->using('acme')->issue();
} catch (InvalidDomainException $e) {
    // a domain failed ValidDomain — nothing was recorded or requested
} catch (ProvisioningInProgressException $e) {
    // another process is provisioning this certificate — the row was not touched, retry later
} catch (CertificateException $e) {
    // any other package error: ACME, Kubernetes API, unknown driver,
    // or a provider that reports the certificate failed, expired or revoked
}

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.