---
title: "Bezpečnosť a hašovanie — Refresh Tokens for Laravel | Roundly"
description: "SHA-256 odtlačky v databáze, voliteľný HMAC pepper, validovaná konfigurácia, bezpečná serializácia a hranice zodpovednosti aplikácie."
url: https://roundly-consulting.com/sk/open-source/navody/refresh-tokens-for-laravel/bezpecnost
language: sk
---

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

[Refresh Tokens for Laravel](https://roundly-consulting.com/sk/open-source/navody/refresh-tokens-for-laravel.md)

# Bezpečnosť a hašovanie

## Prečo SHA-256, a nie bcrypt či argon

Refresh token je 64-znakové tajomstvo z CSPRNG v abecede base64url — približne 384 bitov entropie. Pomalý hash hesiel nepridá nič proti tajomstvu, ktoré sa nedá uhádnuť hrubou silou, a rozbil by indexované vyhľadávanie podľa unikátnej zhody, na ktorom rotácia stojí.

## Pepper (ochrana do hĺbky)

Nastavte hash.key na tajomstvo s vysokou entropiou a uložený odtlačok bude HMAC namiesto čistého hashu — stále jedna deterministická hodnota pod tým istým unikátnym indexom, takže vyhľadávanie aj atomické uplatnenie zostávajú rovnaké. Útočník, ktorý získa tabuľku, no nie tajomstvo aplikácie, nedokáže overiť ani uhádnuť žiadny token:

```bash
REFRESH_TOKENS_HASH_KEY=base64:your-high-entropy-secret
```

Pepper držte mimo databázy (v env alebo v správcovi tajomstiev) a narábajte s ním ako s APP\_KEY. Chýbajúca hodnota alebo len medzery znamenajú bez peppera; hodnota, ktorá vôbec nie je reťazec, vyhodí InvalidTokenConfigurationException namiesto toho, aby sa pepper potichu vynechal. Zmena hash.key — nastavenie, rotácia či vymazanie — zneplatní všetky existujúce tokeny a ich držitelia sa musia prihlásiť znova. Rotácia peppera za behu nie je podporovaná, preto si ho zvoľte vopred alebo naplánujte okno na opätovné prihlásenie.

## Validovaná konfigurácia hašovania

```bash
REFRESH_TOKENS_HASH_ALGO=sha512   # sha256 (default) | sha384 | sha512 — anything else throws
REFRESH_TOKENS_LENGTH=64          # 32–4096 base64url chars — outside the range throws
```

Všetky tri povolené algoritmy sa zmestia do 128-znakového stĺpca token\_hash.

## Bezpečná serializácia

Model RefreshToken skrýva token\_hash a access\_reference, takže endpoint „vaše zariadenia“, ktorý serializuje riadky relácií, nikdy neprezradí odtlačok ani odkaz na prístupový token:

```php
// token_hash and access_reference are in $hidden — safe to return as JSON:
return $user->sessions()->get();
```

## Záruky v skratke

- SHA-2 odtlačok v databáze pod unikátnym indexom; plaintext sa vráti raz a nikdy sa neuloží.
- Rotácia jediným dopytom s ochranou proti dvojitému použitiu — na PostgreSQL aj SQLite rovnako.
- Vždy zapnuté odvolanie rodiny pri detekcii opätovného použitia, odolné voči súbehom — použitý token predložený na uplatnenie aj na odhlásenie.
- Absolútna životnosť relácie uložená pre každú rodinu, takže ukradnutú, no aktívnu reláciu nemožno obnovovať donekonečna — a expirovanú reláciu nemožno oživiť vydaním do jej rodiny.
- Obnova obmedzená na typ účtu — token predložený na endpointe iného typu účtu je neviditeľný.
- #\[SensitiveParameter\] na každom parametri s plaintextom — a fasáda RefreshTokens používa RedactsSensitiveArguments z package-toolkit, takže priame volanie RefreshTokens::redeem(), rotate() či revoke() nenechá plaintext ani vo vlastnom rámci fasády v stack trace; plaintext ani hashe sa nikdy nelogujú.
- Odtlačok aj plaintext z CSPRNG zabezpečuje zdieľaný balík crypto-for-laravel.

## Čo zostáva na aplikácii

Vytváranie a overovanie JWT, denylist jti, parsovanie user-agenta, geolokácia IP, HTTP routy a controllery, obmedzovanie požiadaviek a prenos cez cookies. Napájajú sa cez kontrakt AccessTokenRevoker, enrich() a udalosti.

## 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/refresh-tokens-for-laravel.md)
