---
title: "Inštalácia — Two-Factor for Laravel | Roundly"
description: "Inštalácia cez Composer, publikovanie migrácie, ktorá pridá štyri nullable stĺpce, a voliteľne publikovanie konfigurácie."
url: https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/instalacia
language: sk
---

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

[Two-Factor for Laravel](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel.md)

# Inštalácia

Pridajte balík, potom publikujte a spustite migráciu. Service provider aj alias fasády TwoFactor sa načítajú automaticky — bez manuálnej registrácie:

```bash
composer require roundly-consulting/two-factor-for-laravel

php artisan vendor:publish --tag="two-factor-migrations"
php artisan migrate
```

Migrácie sa len publikujú — z balíka sa automaticky nenačítava nič. Migrácia pri publikovaní dostane vlastný časový údaj a opätovné publikovanie prepíše naposledy publikovaný súbor, takže nikdy nevzniknú dve kópie tej istej migrácie.

## Len dopredu a bezpečne opakovateľná

Publikovaná migrácia nemá down(), takže migrate:rollback štyri stĺpce ponechá. Opätovné spustenie je bezpečné — pridá len stĺpce, ktoré tabuľka ešte nemá, takže migrate po rollbacku ani migrate:refresh nikdy nezlyhajú na duplicitnom stĺpci. Ak chcete stĺpce odstrániť, urobte to vo vlastnej migrácii:

```php
Schema::table('users', function (Blueprint $table): void { // or your `two-factor.table`
    $table->dropTwoFactorColumns();
});
```

## Čo migrácia pridá

Štyri nullable stĺpce do tabuľky users — alebo do tabuľky určenej kľúčom two-factor.table (TWO\_FACTOR\_TABLE), ktorý sa číta pri spustení migrácie. Ak píšete vlastnú migráciu, použite Blueprint makro:

```php
Schema::table('users', function (Blueprint $table): void {
    $table->twoFactorColumns(); // secret, recovery_codes, confirmed_at, last_used_timestep
});
```

## Ďalšie tabuľky účtov

Dvojfaktorové overovanie funguje na akomkoľvek Eloquent modeli s traitom — clients, admins, jeden na každý guard. Publikovaná migrácia pokrýva jednu tabuľku; každej ďalšej tabuľke účtov pridajte rovnaké stĺpce vo vlastnej migrácii. Makro dropTwoFactorColumns() ich odstráni:

```php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    public function up(): void
    {
        Schema::table('clients', function (Blueprint $table): void {
            $table->twoFactorColumns();
        });
    }

    public function down(): void
    {
        Schema::table('clients', function (Blueprint $table): void {
            $table->dropTwoFactorColumns();
        });
    }
};
```

Názvy stĺpcov pochádzajú zo spoločnej mapy two-factor.columns a vstavaný limiter používa ako kľúč triedu modelu aj id, takže používateľ a klient s rovnakým id nikdy nezdieľajú zablokovanie.

## Statická analýza

Pre Larastan / PHPStan sú obe Blueprint makrá deklarované ako twoFactorColumns(): void a dropTwoFactorColumns(): void. Makrá existujú, až keď sa service provider balíka spustí. Larastan spúšťa hostiteľskú aplikáciu s auto-discovery a makrá v nej zvyčajne nájde — nie však vtedy, keď sa provider počas analýzy nenačíta: pri vývoji balíka pod Testbench, s dont-discover alebo s ručne registrovaným providerom. Migrácia, ktorá ich volá, by tam inak zlyhala s „Call to an undefined method“. Balík preto obsahuje rozšírenie pre PHPStan (RoundlyConsulting\\TwoFactor\\PHPStan\\TwoFactorMacrosExtension), ktoré phpstan/extension-installer načíta cez extra.phpstan.includes — nič nekonfigurujete. Bez installera ho pridajte ručne:

```yaml
includes:
    - vendor/roundly-consulting/two-factor-for-laravel/extension.neon
```

## Konfigurácia (voliteľná)

Balík funguje bez akejkoľvek konfigurácie — každý kľúč má bezpečnú predvolenú hodnotu. Konfiguráciu publikujte len vtedy, keď ju chcete zmeniť:

```bash
php artisan vendor:publish --tag="two-factor-config"
```

Balík má dva publish tagy: two-factor-migrations a two-factor-config. Ďalej pripravte model používateľa — pozrite Nastavenie modelu.

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