From beecb48c949cdaf5dfad3897ad93d46f6ffa1e0c Mon Sep 17 00:00:00 2001 From: xrei Date: Wed, 19 Nov 2025 17:54:27 +0000 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BC=D0=B5=D1=85=D0=B0=D0=BD=D0=B8=D0=B7=D0=BC=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=B8=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/UsersController.php | 55 ++++++++++++++++++++++++ app/Models/User.php | 4 +- routes/api.php | 6 ++- 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 app/Http/Controllers/UsersController.php diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php new file mode 100644 index 0000000..72fcd39 --- /dev/null +++ b/app/Http/Controllers/UsersController.php @@ -0,0 +1,55 @@ +get('name'); + $email = $request->get('email'); + $password = Hash::make($request->get('password')); + + $user->name = $name; + $user->email = $email; + $user->password = $password; + $user->save(); + + $token = $user->createToken('frontend'); + return ['token' => $token->plainTextToken]; + + } + public function auth(Request $request) + { + $request->validate([ + 'email' => 'required|email', + 'password' => 'required', + ]); + + $user = User::where('email', $request->email)->first(); + + if (! $user || ! Hash::check($request->password, $user->password)) { + // throw ValidationException::withMessages([ + // 'response' => ['Данные для входа неверны.'], + // ]); + return ['response' => 'Данные для входа неверны.']; + } + + + $token = $user->createToken('frontend'); + return ['response' => 'Успешно!','token' => $token->plainTextToken]; + + // if (Auth::attempt($credentials)) { + // return ['response' => 'Logged in!']; + // } + + // return ['response' => 'Error!']; + } +} diff --git a/app/Models/User.php b/app/Models/User.php index 749c7b7..f8f8f10 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -6,11 +6,12 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; +use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable { /** @use HasFactory<\Database\Factories\UserFactory> */ - use HasFactory, Notifiable; + use HasApiTokens, HasFactory, Notifiable; /** * The attributes that are mass assignable. @@ -45,4 +46,5 @@ class User extends Authenticatable 'password' => 'hashed', ]; } + } diff --git a/routes/api.php b/routes/api.php index 558e6b6..a7c650b 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,5 +1,6 @@ json(['test' => 'test']);}); Route::get('/cloudServices', [CloudServiceController::class, 'index']); -Route::post('cloudServices', [CloudServiceController::class, 'create']); \ No newline at end of file +Route::post('cloudServices', [CloudServiceController::class, 'create']); + +Route::post('users', [UsersController::class, 'create']); +Route::post('login', [UsersController::class, 'auth']); \ No newline at end of file