2.dersimizde yer alan bütün aşamaları yapalım. sadece bir kaç kod değişikliği yapacağız.
tabi aşağıda belirteceğim dosyaları api için olduğundan sıfırdan oluşturup farklı bir klasöre alın. bir önceki ders web için bu api için.
logincontroller -> artık token değeri döndürüyoruz kişiye giriş yaptığında.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php namespace App\Http\Controllers\Api\Auth; use App\Models\User; use Illuminate\Http\Request; use App\Http\Requests\LoginRequest; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Hash; use Illuminate\Validation\ValidationException; class LoginController extends Controller { /** * Handle the incoming request. */ public function __invoke(LoginRequest $request) { $user = User::where('email', $request->email)->first(); if (!$user || !Hash::check($request->password, $user->password)) { throw ValidationException::withMessages([ 'email' => ['The credentials you entered are incorrect.'] ]); } return response()->json([ 'user' => $user, 'token' => $user->createToken('laravel_api_token')->plainTextToken ]); } } |
logout -> tabi token siliyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php namespace App\Http\Controllers\Api\Auth; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class LogoutController extends Controller { /** * Handle the incoming request. */ public function __invoke(Request $request) { $request->user()->currentAccessToken()->delete(); } } |
tabi kayıt da olacak.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php namespace App\Http\Controllers\Api\Auth; use App\Models\User; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Http\Requests\RegisterRequest; class RegisterController extends Controller { /** * Handle the incoming request. */ public function __invoke(RegisterRequest $request) { $user = User::create($request->getData()); return response()->json([ 'user' => $user, 'token' => $user->createToken('laravel_api_token')->plainTextToken ]); } } |
routeda artık api.php içine yazacağız.
1 2 3 4 5 |
Route::prefix('auth')->group(function () { Route::post('/login', LoginController::class); Route::post('/logout', LogoutController::class)->middleware('auth:sanctum'); Route::post('/register', RegisterController::class); }); |