---
title: "Overovanie tokenov — JWT for Laravel | Roundly"
description: "Overujte RS256 tokeny offline len s verejným kľúčom, čítajte claimy cez typované metódy a ošetrite zlyhania."
url: https://roundly-consulting.com/sk/open-source/navody/jwt-for-laravel/overovanie-tokenov
language: sk
---

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

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

# Overovanie tokenov

Každá aplikácia s verejným kľúčom overuje používateľské tokeny offline — bez dotazu do databázy a bez volania vydavateľa:

```php
$claims = Jwt::verify($jwt);   // or app(UserTokenVerifier::class)->verify($jwt)
$claims->string('sub');
$claims->list('permissions');

Jwt::verify($jwt, 'app-clients');      // pin another audience for this call
Jwt::guard('clients')->verify($jwt);   // …or the audience of a configured guard
```

verify() skontroluje podpis, exp, nbf a iat v rámci nastaveného leeway a pripne iss a aud. Kontrola scope, denylistu a verzie tokenu patrí guardu, nie verify(). Explicitne prázdne audience vyhodí JwtMisconfigured.

## Typované čítanie claimov

Claims je nemenná kolekcia, ktorá vznikne až po úspešnej kontrole podpisu a času:

```php
$claims->has('org');            // bool
$claims->get('org');            // mixed, null when absent
$claims->require('org');        // mixed, throws ClaimMismatch when absent
$claims->string('sub');         // string
$claims->int('exp');            // int
$claims->list('permissions');   // list<string>
$claims->all();                 // array<string, mixed>
```

| Metóda | Vracia | Správanie |
| --- | --- | --- |
| `has($name)` | bool | Či je claim prítomný. |
| `get($name)` | mixed | Hodnota alebo null, ak chýba. |
| `require($name)` | mixed | Ak chýba, vyhodí ClaimMismatch. |
| `string($name)` | string | Ak chýba alebo nie je reťazec, vyhodí ClaimMismatch. |
| `int($name)` | int | Prijme celé floaty ako 1.0; ClaimMismatch vyhodí pri desatinných či nečíselných hodnotách aj pri celom floate mimo rozsahu 64-bitového celého čísla (INF, 1e19), ktorý by sa pretypovaním pretočil na iné číslo. |
| `list($name)` | list<string> | Vyhodí výnimku, ak claim nie je zoznam reťazcov. |
| `sessionId()` | ?string | Claim sid alebo null, ak chýba. |
| `authMethods()` | list<string> | Claim amr alebo \[\], ak chýba. |
| `authTime()` | ?int | Claim auth\_time alebo null, ak chýba. |
| `all()` | array | Celá mapa claimov. |

## Ošetrenie zlyhaní

Neplatný token vyhodí podtriedu JwtException. Vydanie claimov, ktoré sa nedajú zakódovať do JSON, vyhodí UnencodableClaims — tiež JwtException — takže jeden catch pokryje vydávanie aj overovanie:

```php
use RoundlyConsulting\Jwt\Facades\Jwt;
use RoundlyConsulting\Jwt\Jose\Exceptions\JwtException;
use RoundlyConsulting\Jwt\Jose\Exceptions\TokenExpired;

try {
    $claims = Jwt::verify($jwt);
} catch (TokenExpired $e) {
    // Prompt a re-login / refresh flow.
} catch (JwtException $e) {
    // Any other token failure: 401.
}
```

Neúspešné Jwt::verify() pred opätovným vyhodením výnimky spustí TokenVerificationFailed. Celú hierarchiu nájdete v časti Výnimky.

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