Вот пример аутентификации Laravel с использованием различных методов:
-
Регистрация пользователя:
use App\Models\User; use Illuminate\Support\Facades\Hash; public function register() { $validatedData = request()->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:8', ]); $validatedData['password'] = Hash::make($validatedData['password']); $user = User::create($validatedData); // Additional logic after registration if needed return response()->json(['message' => 'Registration successful'], 201); } -
Вход пользователя:
use Illuminate\Support\Facades\Auth; public function login() { $credentials = request()->validate([ 'email' => 'required|string|email', 'password' => 'required|string', ]); if (Auth::attempt($credentials)) { $user = Auth::user(); $token = $user->createToken('authToken')->plainTextToken; return response()->json(['token' => $token], 200); } else { return response()->json(['message' => 'Invalid credentials'], 401); } } -
Защита маршрутов с помощью промежуточного программного обеспечения:
Route::middleware('auth:sanctum')->group(function () { // Protected routes here }); -
Выход пользователя:
use Illuminate\Support\Facades\Auth; public function logout() { Auth::user()->tokens()->delete(); return response()->json(['message' => 'Logged out'], 200); }