Laravel: Uso de la Facade File
✅ Laravel Auth Cheatsheet (Facade & Helpers)
Autenticación usando el facade Auth y el helper auth()
(Válido para Laravel + Fortify)
🔐 Inicio y cierre de sesión
| Código |
Descripción |
Auth::login($user) |
Inicia sesión con el usuario indicado |
Auth::logout() |
Cierra la sesión del usuario |
Auth::attempt(['email' => ..., 'password' => ...]) |
Intenta iniciar sesión con credenciales |
auth()->login($user) |
Igual que Auth::login() (helper) |
auth()->logout() |
Igual que Auth::logout() |
auth()->attempt([...]) |
Igual que Auth::attempt() |
👤 Acceder al usuario autenticado
| Código |
Descripción |
Auth::user() |
Devuelve el usuario actual autenticado (o null) |
auth()->user() |
Igual que arriba |
Auth::id() |
Devuelve el ID del usuario autenticado |
auth()->id() |
Igual que arriba |
Auth::check() |
Devuelve true si hay un usuario autenticado |
auth()->check() |
Igual que arriba |
Auth::guest() |
Devuelve true si no hay usuario autenticado |
🛡️ Proteger rutas
En tu archivo routes/web.php:
1
2
3
|
Route::middleware(['auth'])->group(function () {
Route::get('/dashboard', fn () => view('dashboard'));
});
|
O directamente:
1
|
Route::get('/dashboard', fn () => view('dashboard'))->middleware('auth');
|
🔁 Redirección después del login (Fortify)
En FortifyServiceProvider o en App\Providers\RouteServiceProvider:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
use Illuminate\Support\Facades\Redirect;
Fortify::redirects([
'login' => function () {
$role = auth()->user()->getRoleNames()->first();
return match ($role) {
'admin' => '/admin',
'teacher' => '/teacher',
'student' => '/student',
default => '/',
};
}
]);
|
También puedes usar la propiedad RouteServiceProvider::$redirectTo si usas Fortify con configuración clásica.
⚙️ Otros métodos útiles
| Código |
Descripción |
Auth::viaRemember() |
Comprueba si el usuario se autenticó con “recordarme” |
auth()->viaRemember() |
Igual que arriba |
auth()->setUser($user) |
Establece manualmente un usuario en la request (avanzado) |
🧪 Ejemplo con Tinker
1
2
3
4
|
php artisan tinker
>>> $user = App\Models\User::find(1);
>>> Auth::login($user);
>>> Auth::user()->name;
|