---
title: "Tajné kľúče a rotácia — Webhooks for Laravel | Roundly"
description: "Vygenerované a importované tajné kľúče, šifrovanie, jednorazové zobrazenie, rotácia s prechodným obdobím v oboch smeroch a čo vymaže zmazanie."
url: https://roundly-consulting.com/sk/open-source/navody/webhooks-for-laravel/tajne-kluce
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Webhooks for Laravel](https://roundly-consulting.com/sk/open-source/navody/webhooks-for-laravel.md)

# Tajné kľúče a rotácia

- Vygenerované — whsec\_ + štandardné base64 zo secrets.bytes (32) náhodných bajtov. Kľúčom HMAC sú dekódované bajty a prefix ich robí rozpoznateľnými pre skenery tajomstiev.
- Importované (prichádzajúce, create(secret: '…')) — uložené doslovne, 1–1 024 bajtov, bez riadiacich znakov. Ako sa z reťazca stanú bajty kľúča, určuje schéma. Pri predvolenej schéme musí byť kľúč whsec\_… štandardné base64, ktoré sa dekóduje aspoň na jeden bajt, inak InvalidEndpointException; vlastné schémy (whsec\_ v štýle Stripe použitý surovo) to nemusia spĺňať.
- V pokoji — šifrované cez encrypted cast Laravelu na secret aj previous\_secret, oba skryté. Nikdy v resources, about, udalostiach, logoch ani správach výnimiek (všade #\[SensitiveParameter\]).
- Zobrazené raz — v CreatedInboundEndpoint, CreatedOutboundEndpoint a RotatedSecret; každý z nich sa skryje v print\_r, var\_dump aj json\_encode.

## Rotácia

```php
$rotated = Webhooks::inbound()->rotateSecret($inboundEndpoint);                          // grace: secrets.grace_seconds (1 day)
$rotated = Webhooks::outbound()->rotateSecret($outboundEndpoint, grace: now()->addHours(6));
$rotated = Webhooks::inbound()->rotateSecret($inboundEndpoint, grace: now());            // no overlap
$rotated = Webhooks::inbound()->rotateSecret($inboundEndpoint, secret: $sendersNewSecret); // import (inbound)

$rotated->secret;       // the new secret, shown once
$rotated->graceEndsAt;  // when the old one stops working
```

- Aktuálny kľúč sa stane predchádzajúcim, nový aktuálnym a previous\_secret\_expires\_at je koniec prechodného obdobia. Obdobie dlhšie ako secrets.max\_grace\_seconds (7 dní) alebo v minulosti vyhodí SecretRotationException.
- Ďalšia rotácia počas prechodného obdobia najstarší kľúč okamžite zahodí. Riadok sa uzamkne, takže dve súbežné rotácie zachovajú konzistentnú dvojicu. Vyvolá sa EndpointSecretRotated bez tajného kľúča.
- Pri prijímaní počas prechodného obdobia overujú oba kľúče a doručenie zaznamená, ktorý sa zhodoval (signature\_slot current alebo previous). Pri odosielaní podpisujú oba — dve položky v1, nová prvá — takže príjemca prejde, kedy chce.
- Prechodné obdobie sa vynucuje pri použití; webhooks:prune vymaže predchádzajúce kľúče po jeho uplynutí.

```bash
php artisan webhooks:rotate-secret outbound 12 --grace=21600   # prints the new secret once
```

## Zmazanie endpointu

delete() okamžite vymaže tajný kľúč aj predchádzajúci kľúč — pri odchádzajúcom endpointe aj URL a vlastné hlavičky. Zmazaný endpoint je mŕtvy; ručné obnovenie by si vyžadovalo nový kľúč cez rotateSecret(). Je to zámer: tajný kľúč zmazaného endpointu sa neuchováva roky. Riadok ostane v zázname, kým webhooks:prune neodstráni všetky doručenia, ktoré naň ukazujú.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/webhooks-for-laravel.md)
