Sari la conținut
← Autentificare și autorizare în Laravel
Progres curs 0 / 6 lecții (0%)

Breeze: login, register, reset

Lectură estimată: 3 minute

Estimare pentru text, la un ritm de 180 de cuvinte pe minut. Timpul pentru analizarea codului, exerciții și proiecte se adaugă separat și depinde de ritmul tău.

Laravel Breeze îți dă un sistem de autentificare complet și minimal, cu cod pe care îl deții și îl poți modifica. E punctul de plecare recomandat pentru majoritatea proiectelor noi.

Instalare și ce primești

composer require laravel/breeze --dev
php artisan breeze:install blade
php artisan migrate
npm install && npm run dev

Rutele generate

  • GET/POST `/register` — înregistrare.
  • GET/POST `/login` — autentificare.
  • POST `/logout`.
  • GET/POST `/forgot-password`, `/reset-password` — resetare.
  • GET `/verify-email`, etc. — verificare email.

Cum funcționează login-ul

// app/Http/Requests/Auth/LoginRequest.php (generat)
public function authenticate(): void
{
    $this->ensureIsNotRateLimited();

    if (! Auth::attempt($this->only("email", "password"), $this->boolean("remember"))) {
        RateLimiter::hit($this->throttleKey());
        throw ValidationException::withMessages(["email" => __("auth.failed")]);
    }

    RateLimiter::clear($this->throttleKey());
}

Sesiunea

După `Auth::attempt()` reușit, Laravel regenerează ID-ul de sesiune (previne fixarea) și stochează ID-ul utilizatorului. La cererile următoare, middleware-ul `auth` verifică sesiunea și populează `auth()->user()`.

Personalizare

Codul e al tău: modifici vederile din `resources/views/auth/`, adaugi câmpuri la înregistrare (modifici RegisteredUserController și migrația), schimbi redirect-urile în `RouteServiceProvider` sau în controllere.

Adăugarea unui câmp la înregistrare

// RegisteredUserController::store
$request->validate([
    "name" => ["required", "string", "max:255"],
    "nume_firma" => ["nullable", "string", "max:255"],
    "email" => ["required", "email", "unique:users"],
    "password" => ["required", "confirmed", Rules\Password::defaults()],
]);

$user = User::create([
    "name" => $request->name,
    "nume_firma" => $request->nume_firma,
    "email" => $request->email,
    "password" => Hash::make($request->password),
]);

Exercițiu

Instalează Breeze. Testează fluxul complet: înregistrare, logout, login, „am uitat parola". Apoi personalizează: adaugă un câmp la înregistrare (cu migrație și validare) și schimbă pagina unde ajungi după login.

Greșeli frecvente

  • Uiți npm run dev și paginile de auth nu au stiluri.
  • Modifici comportamentul de login fără să păstrezi rate limiting-ul.
  • Adaugi câmp la înregistrare dar uiți să-l pui în $fillable / migrație.
  • Nu rulezi migrate și tabelul users e incomplet.

De reținut

  • Breeze = auth complet, cod deținut de tine.
  • Rute pentru register/login/logout/reset/verify.
  • Auth::attempt() + regenerarea sesiunii.
  • Personalizezi vederile și controllerele direct.

Pe scurt

Breeze îți dă baza de autentificare în câteva comenzi. De acolo, codul e al tău să-l adaptezi.

Flux complet de login și reset în laborator

Un starter kit oferă componente întreținute, dar instalarea nu încheie verificarea. Testează înregistrarea, autentificarea, ieșirea și resetarea parolei cu un mailer de laborator. Nu trimite mesaje reale către adrese inventate sau străine. Păstrează mesajele publice prudente pentru a nu dezvălui inutil existența conturilor. Configurația de sesiune, HTTPS și limitarea încercărilor trebuie verificată în mediul public.

Exemplu de lucru

Pentru proiectul didactic Laravel 11, verifică documentația starter kitului compatibil înainte de instalare.
Scenarii: parolă greșită; login valid; logout; link reset invalid; link reset folosit; login cu parola nouă.
Mail de test: fake sau log local, fără expediere externă.
Nu păstra: parole în loguri sau fixtures reale.

Interpretarea rezultatului

Un reset reușit trebuie să schimbe efectiv parola și să respecte politica sesiunilor. Captura unui formular frumos nu dovedește funcționarea fluxului. Verifică și ce se întâmplă după expirarea sau reutilizarea linkului, conform configurării alese.

Exercițiu de consolidare

Scrie un test care demonstrează că parola veche nu mai autentifică utilizatorul după reset.

Aplicație practică

Sarcina

Instalează autentificarea conform versiunii Laravel din laborator.

Rezolvare orientativă și verificare

Testează înregistrare, login, logout și resetare pe mailer de test, fără mesaje către persoane reale.

Greșeală de evitat

Exemplele vechi cu Breeze pot necesita adaptare la versiunea aleasă.

Documentație și surse

Ți-a plăcut lecția? Continuă cursul complet

Ai citit o lecție gratuită. Celelalte lecții, aplicațiile practice și materialele se deblochează odată cu cursul.

149 lei

Plată unică, acces pe viață la toate cele 6 lecții.

Vezi ce conține cursul →

Folosim cookie-uri esențiale pentru funcționarea site-ului și, cu acordul tău, cookie-uri de analiză și publicitate. Partenerii noștri, inclusiv Google, pot folosi cookie-uri pentru a afișa reclame relevante. Detalii în Politica de cookie-uri.