auth()
en Laravel
El método auth()
devuelve una instancia del guard actual, lo que permite interactuar con la autenticación de la aplicación. Se puede usar para autenticar usuarios, verificar roles, obtener detalles del usuario autenticado y mucho más. Por defecto, Laravel utiliza la autenticación basada en sesiones, pero también es compatible con otros métodos como API Tokens
y JWT
.
$user = auth()->user();
Este ejemplo obtiene la información del usuario actualmente autenticado.
auth()
1. Obtener el usuario autenticado:
$user = auth()->user();
echo $user->name;
Este código obtiene la instancia del usuario autenticado y accede a sus propiedades, como el nombre (name
).
2. Verificar si hay un usuario autenticado:
if (auth()->check()) {
echo "El usuario está autenticado.";
} else {
echo "El usuario no ha iniciado sesión.";
}
auth()->check()
devuelve true
si el usuario está autenticado, y false
si no lo está.
3. Obtener el ID del usuario autenticado:
$userId = auth()->id();
Esto devuelve el ID del usuario actualmente autenticado o null
si no hay un usuario en sesión.
4. Autenticar manualmente a un usuario (login):
$credentials = ['email' => 'example@example.com', 'password' => 'password123'];
if (auth()->attempt($credentials)) {
// Inicio de sesión exitoso
return redirect()->route('dashboard');
} else {
// Fallo de autenticación
return back()->withErrors(['message' => 'Credenciales incorrectas.']);
}
auth()->attempt()
intenta autenticar al usuario con las credenciales proporcionadas y, si es exitoso, inicia sesión.
5. Cerrar sesión del usuario (logout):
auth()->logout();
return redirect('/login');
Este código cierra la sesión del usuario y redirige a la página de inicio de sesión (/login
).
6. Acceder a un guard específico:
$admin = auth('admin')->user();
Si tu aplicación tiene múltiples guardias (por ejemplo, admin
, web
, api
), puedes especificar el guard que quieres utilizar pasando su nombre como parámetro a auth()
.
Para más información sobre el uso de auth()
y la autenticación en Laravel, consulta la documentación oficial de Laravel.
Jorge García
Fullstack developer