berattozaydin Sıfırdan bir Laravel projesi kurdum, bir tane kullanıcı oluşturdum. Sonra routes/api.php içerisinde:
Route::post('login', function(Request $request) {
/** @var \App\Models\User $user */
$user = User::where('email', $request->input('username'))
->first();
if ($user && Hash::check($request->input('password'), $user->password)) {
return response()->json([
'token' => $user->createToken('mobile')
->plainTextToken
]);
}
throw ValidationException::withMessages([
'email' => ['The provided credentials are incorrect.'],
]);
});
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
Başka hiçbir şey yapmadım. Daha sonra test ettim ve başarıyla çalıştırdım:
curl -X POST --location "http://laravel.test/api/login" \
-H "Content-Type: application/json" \
-d "{\"email\": \"johndoe@gmail.com\", \"password\": \"12345678\"}"
{
"token":"3|8zPufTKEYYKcUNitOxcBvDHgQ1uK1SO4XWMwiZgi"
}
curl -X GET --location "http://laravel.test/api/user" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 3|8zPufTKEYYKcUNitOxcBvDHgQ1uK1SO4XWMwiZgi"
{
"id": 1,
"name": "John Doe",
"email": "johndoe@gmail.com",
"email_verified_at": "2022-03-12T13:39:02.000000Z",
"created_at": "2022-03-12T13:39:00.000000Z",
"updated_at": "2022-03-12T13:39:02.000000Z"
}