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 devRutele 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
- Documentația Laravel 11 — versiunea aplicației demonstrative — Laravel
- OWASP Top 10 — OWASP
Ț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 →